gpt4 book ai didi

pandas - 使用 dask read_csv 读取文件名作为列名

转载 作者:行者123 更新时间:2023-12-04 00:23:52 35 4
gpt4 key购买 nike

我正在导入 4000 多个具有相同列的 csv 文件,columns=['Date', 'Datapint'] 将 csv 导入 dask 非常简单,对我来说工作正常.

file_paths = '/root/data/daily/'
df = dd.read_csv(file_paths+'*.csv',
delim_whitespace=True,
names=['Date','Datapoint'])

我想要完成的任务是能够将 'Datapoint' 列命名为 .csv 的文件名。我知道您可以使用 include_path_column = True 为路径设置一列。但我想知道是否有一种简单的方法可以将该路径名用作列名,而无需运行单独的步骤。

最佳答案

我能够使用 dask 的延迟功能做到这一点(相当直接):

import pandas as pd
import dask.dataframe as dd
from dask import delayed
import glob

path = r'/root/data/daily' # use your path
file_list = glob.glob(path + "/*.csv")

def read_and_label_csv(filename):
# reads each csv file to a pandas.DataFrame
df_csv = pd.read_csv(filename,
delim_whitespace=True,
names=['Date','Close'])
df_csv.rename(columns={'Close':path_2_column}, inplace=True)
return df_csv

# create a list of functions ready to return a pandas.DataFrame
dfs = [delayed(read_and_label_csv)(fname) for fname in file_list]
# using delayed, assemble the pandas.DataFrames into a dask.DataFrame
ddf = dd.from_delayed(dfs)

关于pandas - 使用 dask read_csv 读取文件名作为列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58567192/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com