我有点被困在提取一个变量对另一个变量的条件值上。例如,以下数据框:
A B
p1 1
p1 2
p3 3
p2 4
我如何获得A
when 的价值B=3
?每当我提取的值时A
,我都会得到一个对象,而不是字符串。
—
cs95
我有点被困在提取一个变量对另一个变量的条件值上。例如,以下数据框:
A B
p1 1
p1 2
p3 3
p2 4
我如何获得A
when 的价值B=3
?每当我提取的值时A
,我都会得到一个对象,而不是字符串。
Answers:
您可以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'
df.loc[df['B'] == 3, 'A'].item()
也为我工作。
male_avgtip=(tips_data.loc[tips_data['sex'] == 'Male', 'tip']).mean()
我还为我的任务进行了这种clause和提取操作。
item()
在最后加上。