use*_*059 6 python dataframe pandas
我有一个数据框,其中一列包含元组:
df = pd.DataFrame({'a':[1,2, 3], 'b':[(1,2), (3,4), (0,4)]})
a b
0 1 (1, 2)
1 2 (3, 4)
2 3 (0, 4)
Run Code Online (Sandbox Code Playgroud)
我想选择我提供的元素在元组中的行.
例如,返回4在元组中的行,期望结果为:
a b
1 2 (3, 4)
2 3 (0, 4)
Run Code Online (Sandbox Code Playgroud)
我试过了:
print(df[df['b'].isin([4])]
Run Code Online (Sandbox Code Playgroud)
但是这会返回一个空的数据帧:
Empty DataFrame
Columns: [a, b]
Index: []
Run Code Online (Sandbox Code Playgroud)
你apply需要in:
print(df[df['b'].apply(lambda x: 4 in x)])
a b
1 2 (3, 4)
2 3 (0, 4)
Run Code Online (Sandbox Code Playgroud)