为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕雪6442864 2022-12-14 20:59:07
以此 csv 为例:Col1, Col21,3,0,5,1,40,7假设我有一个列表,并且仅当同一行中Col2的值为 时,我才想将 的值附加到列表中。结果列表应该是.Col11[3,4]我怎样才能在不使用的情况下用熊猫做到这一点iterrows()?
查看完整描述

3 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

我认为这.loc是最pythonic和最简单的方法。


df.loc[df['Col1'] == '1']['Col2'].to_list()

另一种使用np.where:


import numpy as np

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


查看完整回答
反对 回复 2022-12-14
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

假设你已经读csv入了一个名为 的数据框df,你可以使用这个:

wanted = df.query('Col1 == 1')['Col2'].values
mylist.extend(wanted)


查看完整回答
反对 回复 2022-12-14
?
POPMUISE

TA贡献1765条经验 获得超5个赞

import pandas as pd


lst_result=[]

for ind, row in df.iterrows():

    if df.at[ind,'Col1'] == 1:

        lst_result.append(df.at(ind,['Col2']))

print(lst_result)


查看完整回答
反对 回复 2022-12-14
  • 3 回答
  • 0 关注
  • 58 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信