如果同一行中x
列的值为列表B
,我如何在列[0,1]
中找到单元格的值?
列A
和B
中的每个单元格都是列表的整数。
x y A B
0 ding ding [0, 1] [0, 0]
1 ding dong [0, 1] [0, 1]
2 ding ding [0, 1] [0, 0]
3 ding ding [0, 1] [0, 0]
4 ding dong [0, 1] [0, 1]
5 ding ding [0, 1] [0, 0]
6 ding ding [0, 1] [0, 0]
答案 0 :(得分:1)
IIUC您可以使用与Series
相同的索引创建DataFrame
,并将其与列B
进行比较:
s = pd.Series([[0, 1]], index = df.index)
print s
0 [0, 1]
1 [0, 1]
2 [0, 1]
3 [0, 1]
4 [0, 1]
5 [0, 1]
6 [0, 1]
dtype: object
print df['B'] == s
0 False
1 True
2 False
3 False
4 True
5 False
6 False
dtype: bool
print df[df['B'] == s]
x y A B
1 ding dong [0, 1] [0, 1]
4 ding dong [0, 1] [0, 1]
print df.x[df['B'] == s]
1 ding
4 ding
Name: x, dtype: object