问题:根据另一个列熊猫数据框提取列值
我有点被困在提取一个变量对另一个变量的条件值上。例如,以下数据框:
A B
p1 1
p1 2
p3 3
p2 4
我如何获得A
when 的价值B=3
?每当我提取的值时A
,我都会得到一个对象,而不是字符串。
回答 0
您可以loc
用来获取满足条件的序列,然后iloc
获取第一个元素:
In [2]: df
Out[2]:
A B
0 p1 1
1 p1 2
2 p3 3
3 p2 4
In [3]: df.loc[df['B'] == 3, 'A']
Out[3]:
2 p3
Name: A, dtype: object
In [4]: df.loc[df['B'] == 3, 'A'].iloc[0]
Out[4]: 'p3'
回答 1
您可以尝试query
,输入更少:
df.query('B==3')['A']
回答 2
df[df['B']==3]['A']
,假设df是您的pandas.DataFrame。
回答 3
使用df[df['B']==3]['A'].values
如果你只是想项目本身没有括号
回答 4
male_avgtip=(tips_data.loc[tips_data['sex'] == 'Male', 'tip']).mean()
我还为我的任务进行了这种clause和提取操作。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。