首页 > 解决方案 > 如何在 pandas 的数据框中删除 * 值?

问题描述

我正在使用 pandas 中的数据框,并且某个列中的某些值具有*值。当我尝试使用 Seaborn 在该列上运行视觉对象时,出现以下错误:

ValueError:无法将字符串转换为浮点数:'*'

我知道哪些列有*值:

0      347
1      332
2      324
3      310
4      347
      ... 
163      *
164      *
165      *
166    310
167    319
Name: MeanScore, Length: 168, dtype: object

标签: pythonpandasseaborn

解决方案


您可以执行以下操作。在我的示例中,我将拥有df包含两列的数据框yz其中可能有一个*

import pandas as pd

df = pd.DataFrame({
    'x': [1, 2, 3, 4],
    'y': [1, 4, '*', 16],
    'z': [2, 3, 5, '*'],
})

df[(df['y'] != '*') & (df['z'] != '*')].head()

推荐阅读