我有我想在几个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。
我想在几个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)