我有一个 Pandas DataFrame,它的列由一个串列组成。例如:
df = pd.DataFrame({'col1': [['a'], ['b'], ['a'], ['b']]})
df
col1
0 [a]
1 [b]
2 [a]
3 [b]
我想选择那些 ['a'] 行,但如果我运行此代码:
df['col1'] == ['a']
我收到一个错误:
ValueError: ('Lengths must match to compare', (4,), (1,))
(与代码相同df[df['col1'] == ['a']]
)
我应该使用什么适当的代码来实作这一目标?
uj5u.com热心网友回复:
尝试以下
df[df['col1'].str[0]=='a']
uj5u.com热心网友回复:
利用:
df = df[df['col1'].apply(lambda x: x == ['a'])]
print (df)
col1
0 [a]
2 [a]
uj5u.com热心网友回复:
您还可以转换为字符串:
out = df[df['col1'].astype(str) == "['a']"]
输出:
col1
0 [a]
2 [a]
0 评论