我正在尝试使用pandas将特定的列保存到csv。但是,输出文件上只有一行。我的代码有什么问题吗?我想要的输出是将d.count()== 1的所有列保存到一个csv文件中。
import pandas as pd
results = pd.read_csv('employee.csv', sep=';', delimiter=';', low_memory=False)
results['index'] = results.groupby('Name').cumcount()
d = results.pivot(index='index', columns='Name', values='Job')
for columns in d:
if (d[columns]).count() > 1:
(d[columns]).dropna(how='any').to_csv('output.csv')
一种替代方法是填充一个新的数据框,其中包含要保存的内容,然后保存一次。
import pandas as pd
results = pd.read_csv('employee.csv', sep=';', delimiter=';', low_memory=False)
results['index'] = results.groupby('Name').cumcount()
d = results.pivot(index='index', columns='Name', values='Job')
keepcols=[]
for columns in d:
if (d[columns]).count() > 1:
keepcols.append(columns)
output_df = results[keepcols]
output_df.to_csv('output.csv')
毫无疑问,您可以合理化上述内容,并通过直接保存输出而无需先创建一个对象来保存它来减少内存占用,但这可以帮助您确定示例中发生的事情。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句