拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 如何匹配由串列组成的PandasDataFrame列?

如何匹配由串列组成的PandasDataFrame列?

白鹭 - 2022-02-17 2101 0 0

我有一个 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 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *