如何删除 Pandas 中不包含字符串的行?

问题描述 投票:0回答:1

假设我有以下数据集:

>>> import pandas as pd
>>>
>>> data = {'index': [0, 1, 2], 'value': ['zero', 1, 'two']}
>>>
>>> df = pd.DataFrame(data)
>>> df
   index value
0      0  zero
1      1     1
2      2   two

我想删除“value”列中包含字符串的所有行,因此在本例中,我想删除第二行(或索引为1的行)。

我天真地尝试过跑步:

df[isinstance(df['value'], str)]

但是,这会导致错误。对于上下文,我正在处理的实际数据集有数千行。

我知道类似的问题,但我不认为他们在与此相同的上下文中回答这个问题。

python pandas dataframe data-science
1个回答
0
投票

isinstance
只能检查单个元素,但
df
有多个元素。它可能需要使用
for-loop
.apply()
分别在每个元素上运行
isinstance

df[ df['value'].apply(lambda x:isinstance(x, str)) ]
© www.soinside.com 2019 - 2024. All rights reserved.