我是python和Pandas的新手。所以我有以下场景。数据框(df)如下所示:
col1 col2 col3 col4 col5 col6
0 x1 y1 z1 f1 e1 g1
1 x2 y2 z2 f2 e2 g2
现有代码如下:
items = set()
...
for item in df['col3'].tolist():
if item not in items:
items.add(item)
“items”集被写入文件。目前输出文件只包含一列......“col3”就像这样。
文件:items.txt
col3
z1
z2
新要求是将col3和col5写入文件中。现在额外的要求是需要为相应的col5
值捕获col3
值。
文件:items.txt
col3 col5
z1 e1
z2 e2
我尝试用以下方法创建另一个dataframe
:
df1 = df[['col3', 'col5']]
但除此之外,我现在迷失了。
任何帮助表示赞赏。
谢谢,Anoop
更新了答案以选择唯一值。首先我们压缩2列,并使用示例df查找唯一值,其中我只是从第一个df复制行:
col1 col2 col3 col4 col5 col6
x1 y1 z1 f1 e1 g1
x2 y2 z2 f2 e2 g2
x1 y1 z1 f1 e1 g1
x2 y2 z2 f2 e2 g2
然后使用相应的col5值获取col3的唯一值的代码:
df = pd.read_csv('./Desktop/funky.csv')
df2 = df[['col3', 'col5']] # create new df of only col3 and col5
df_uniq = df2.drop_duplicates(['col3']) # keep only unique values of col3 and corresponding col5 values
df_uniq.to_csv('items.txt', sep='\t') # write to file