从熊猫中的对象中选择

时间:2019-03-21 08:43:28

标签: python pandas object select

我在column1中有一个带有对象的数据框。该对象每行包含多个值。我需要遍历对象中的所有值,但是我只能选择整行。如何在对象行中选择值?

数据框:

import foo from "./sdk.js";
foo();

到目前为止的代码:

d = {'column1': [{1,2,3},{4,5,6}]}
df = pd.DataFrame(d)

这选择了{1,2,3},但是我只选择第一个元素1。

1 个答案:

答案 0 :(得分:4)

在此处需要将值转换为列表,然后进行索引:

d = {'column1': [{1,2,3},{4,5,6}]}
df = pd.DataFrame(d)
print (df.column1.apply(lambda x: list(x)[0]))
0    1
1    4
Name: column1, dtype: int64

或将nextiter一起使用:

print (df.column1.apply(lambda x: next(iter(x))))

Advantage也可以使用空的set-可以设置默认值:

d = {'column1': [{1,2,3},{4,5,6}, {}]}
df = pd.DataFrame(d)

print (df.column1.apply(lambda x: next(iter(x), 'no match')))
0           1
1           4
2    no match
Name: column1, dtype: object