从一个pandas数据帧

时间:2015-05-07 01:22:02

标签: python python-2.7 csv pandas dataframe

我有一个CSV文件,我试图提取并分解成部分内容。它10列。我当前的脚本(其中一行如下所示)要求用户输入两列(比如列A和C)并从第三列(列F)获取数据,并将列A和F写入新的CSV文件。

df1 = data.columnF[(data['columnA'] == data_name) & (data['columnC'] == study_name)]

当前输出如下所示:

name1,study1
name1,study2
name1,study2
name5,study9
name6,study6
name6,study0

相反,我希望输出是多个文本文件(通过跳过将所有内容写入CSV文件然后将其分成块的步骤)。

File 'name1.txt' should have
study1
study2 (only once, without repetition) 

同样,

name5.txt > study9
name6.txt > study6
            study0

我该怎么做?

1 个答案:

答案 0 :(得分:3)

使用groupby并在每个组中循环:

df_grouped = data.columnF[(data['columnA'] == data_name) & (data['columnC'] == study_name)].drop_duplicates().groupby('columnA')
for index, group in df_grouped:
    group.to_csv(index + '.text')