如何根据特定列的值从 CSV 文件中选择值

以此 csv 为例:


Col1, Col2

1,3,

0,5,

1,4

0,7

假设我有一个列表,并且仅当同一行中Col2的值为 时,我才想将 的值附加到列表中。结果列表应该是.Col11[3,4]


我怎样才能在不使用的情况下用熊猫做到这一点iterrows()?


慕雪6442864
浏览 87回答 3
3回答

沧海一幻觉

我认为这.loc是最pythonic和最简单的方法。df.loc[df['Col1'] == '1']['Col2'].to_list()另一种使用np.where:import numpy as npdf['Col3'] = np.where(df['Col1'] == 1, df['Col2'], '')listt = list(filter(None,df['Col3'].to_list()))zip是 的循环替代方案iterrows。listt = []for x, y in zip(df['Col1'], df['Col2']):    if x == 1:        listt.append(y)

凤凰求蛊

假设你已经读csv入了一个名为 的数据框df,你可以使用这个:wanted = df.query('Col1 == 1')['Col2'].values mylist.extend(wanted)

POPMUISE

import pandas as pdlst_result=[]for ind, row in df.iterrows():    if df.at[ind,'Col1'] == 1:        lst_result.append(df.at(ind,['Col2']))print(lst_result)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python