Python 熊猫:查询dataframe中的对象列
我有以下数据框Python 熊猫:查询dataframe中的对象列,python,pandas,Python,Pandas,我有以下数据框 Q1 Q2_1 Q2_2 respid Value Q2 0 1 1 0 1 [1] [1] 1 2 0 1 2 [2] [2] 2 3 0 1 3 [2] [2] 3 4 1 0 4 [1] [
Q1 Q2_1 Q2_2 respid Value Q2
0 1 1 0 1 [1] [1]
1 2 0 1 2 [2] [2]
2 3 0 1 3 [2] [2]
3 4 1 0 4 [1] [1]
4 5 1 1 5 [1, 2] [1, 2]
5 1 0 0 6 [] []
6 1 1 1 7 [1, 2] [1, 2]
7 3 0 0 8 [] []
我可以查询具有单个值的列,如df[df['Q1']==1]。
但是我不能在df['Q2']]中使用df[1]。您可以使用apply:
df[df['Q2'].apply(lambda x : 1 in x)]
谢天谢地,还有一种编写自定义函数的方法,我可以将一个函数传递到数据框中,并获取匹配条件的行。。类似于
**df[filter(“Q2”,1)]**
的内容,其中filter是自定义函数是的,这就是apply的作用。df[df['Q2'].应用(您的自定义函数)]。将函数传递到数据框的列中,并获取匹配条件的行。