【发布时间】:2020-08-13 19:39:24
【问题描述】:
我有一个包含几列的数据框。此列的类型之一是列表:
import pandas as pd
df = pd.DataFrame({'col1': [[1, 2, 'x'], ['as', 3, 5, 7], [1, 2]],
'col2': ['barfoo', 'foo', 'bar']})
print(df)
col1 col2
0 [1, 2, x] barfoo
1 [as, 3, 5, 7] foo
2 [1, 2] bar
所以我需要获取行,其中 'col1' 中列表的值等于 2。
类似这样的东西(它不起作用):
result = df.loc[df['col1'].list[1] == 2]
期望的输出:
col1 col2
0 [1, 2, x] barfoo
2 [1, 2] bar
【问题讨论】: