我在column1中有一个带有对象的数据框。该对象每行包含多个值。我需要遍历对象中的所有值,但是我只能选择整行。如何在对象行中选择值?
数据框:
import foo from "./sdk.js";
foo();
到目前为止的代码:
d = {'column1': [{1,2,3},{4,5,6}]}
df = pd.DataFrame(d)
这选择了{1,2,3},但是我只选择第一个元素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
或将next
与iter
一起使用:
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