【发布时间】:2017-09-21 20:29:52
【问题描述】:
我有一个 pandas 数据框,其中一列包含一维 numpy 数组,另一列包含标量数据,例如:
df =
A B
0 x [0, 1, 2]
1 y [0, 1, 2]
2 z [0, 1, 2]
我想为 A=='x' 所在的行获取 B 所以我尝试了 df[df.A == 'x'].B.values 这给了我输出:
array([array([0, 1, 2])], dtype=object)
输出周围有一个额外的array([])。我知道 Pandas 将它视为一个对象而不仅仅是数据,我有一种方法可以使用 df[df.A == 'x'].B.values[0] 来访问数组。对于标量数据,我可以只使用语法df[df.A == 'x'].B,它比我必须使用的df[df.A == 'x'].B.values[0] 干净得多。
我的问题是:有没有更好/更干净/更短的方法来访问我输入的格式的数据?还是这只是我必须忍受的事情?
【问题讨论】:
-
或者你可以使用...
df[df.A==10].B.item()
标签: python arrays pandas numpy