动态地创建与熊猫dataframes

问题描述 投票:1回答:1

我有我想在几个smallers那些分裂的基础上,第一列的字符串值一个巨大的数据集。

到现在为止,我已经删除了所有我不想在最后dataframes和动态创建使用dataframes的字典,无果,并创建拆分的信息。

对于dataframes的字典,我想:

dict = {}
number_of_df= 0

for i in range(df.shape[0]):
    if df[i:] != df[i-1]:
        number_of_df += 1

for i in range(len(number_of_df)):
    d['t' + str(i)] = df.shift(i).add_suffix('_t' + str(i))

而对于复制行,直到该行的第一个值的值从前述一个不同:

for key in dict:
    while df[i:] == df[i-1:]:
        df[key].append= df2.loc[df1.index[i]] = df1.iloc[i]

    df[key].to_csv('file'+str(key)+'.csv', index=False)

我希望它用在其被创建的顺序命名每个文件创建多个CSV的。我有几个错误,首先它说主要错误:创建-1,而词典,只创建一个空的,而当切片不返回任何错误,但也不写什么到词典中。我也认为我可能会指向错误的,哪些行和价值观我想在字典改变。

在此先感谢了对不起我的英语,而不是母语,也是一个完整的n00b。

python pandas
1个回答
0
投票

我想在几个smallers那些分裂的基础上,第一列的字符串值。

这比你想象的更容易。只需使用groupby与第一列,然后使用dict + tuple来构建你的字典。您可以选择通过索引df.columns第一列。

dct = dict(tuple(df.groupby(df.columns[0])))

如果你只需要每个数据帧导出为CSV文件,你不需要一本字典的额外的费用。只需直接迭代groupby对象:

for key, df_slice in df.groupby(df.columns[0]):
    df_slice.to_csv(f'file_{key}.csv', index=False)
© www.soinside.com 2019 - 2024. All rights reserved.