Python Dask - 读取具有不同列名的多个文件
Python Dask - Read multiple files with different column names
我有12个文件对应一年中的每个月。
他们有多个索引和一个名称为给定月份的列。
一月档
Jan
index_0 | index_1 |
bla | bla | 3
二月档
Feb
index_0 | index_1 |
bla | bla | 2
我想像那样阅读那些文件:
df = dd.read_csv(
location + "*.txt",
sep=';',
header=0
)
输出
Jan
index_0 | index_1 |
bla | bla | 3
bla | bla | 2
问题是我丢失了一条信息,我没有月份了。
预期输出
Month | Value
index_0 | index_1 |
bla | bla | Jan 3
bla | bla | Feb 2
如何将月份保留在我的数据框中?
当您想要超出 read_csv
提供的自定义行为时,您应该转向 dask.delayed
:
def load_func(fn):
df = pd.read_csv(
location + "*.txt",
sep=';',
header=0
)
df['month'] = df.columns[0]
df.columns = ['value', 'month']
return df
ddf = dd.from_delayed([dask.delayed(load_func)(fn) for fn in files])
我有12个文件对应一年中的每个月。 他们有多个索引和一个名称为给定月份的列。
一月档
Jan
index_0 | index_1 |
bla | bla | 3
二月档
Feb
index_0 | index_1 |
bla | bla | 2
我想像那样阅读那些文件:
df = dd.read_csv(
location + "*.txt",
sep=';',
header=0
)
输出
Jan
index_0 | index_1 |
bla | bla | 3
bla | bla | 2
问题是我丢失了一条信息,我没有月份了。
预期输出
Month | Value
index_0 | index_1 |
bla | bla | Jan 3
bla | bla | Feb 2
如何将月份保留在我的数据框中?
当您想要超出 read_csv
提供的自定义行为时,您应该转向 dask.delayed
:
def load_func(fn):
df = pd.read_csv(
location + "*.txt",
sep=';',
header=0
)
df['month'] = df.columns[0]
df.columns = ['value', 'month']
return df
ddf = dd.from_delayed([dask.delayed(load_func)(fn) for fn in files])