将列另存为CSV熊猫



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

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