将列保存为csv pandas

时间:2017-04-28 16:00:54

标签: python csv pandas

我尝试使用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')

1 个答案:

答案 0 :(得分:0)

另一种方法可能是填充包含您要保存的内容的新数据框,然后保存一次。

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')

毫无疑问,您可以合理化上述内容,并通过直接保存输出来减少内存占用,而无需先创建一个保持它的对象,但它有助于识别示例中发生的事情。