python - 不同数据帧列中列出的不同缺失值将替换为 NaN

标签 python pandas

我有两个文件。一个包含我的属性的详细信息,名称为detail.csv,另一个是数据文件,其中包含有关这些属性的数据,名称为data.csv

在detail.csv文件中,我们有两列“属性”,它给出了属性的名称,“缺失值表示”给出了用作该属性缺失值的值的列表。示例很少下面给出了相同的内容。

Attribute   Missing value representation
Height       [-1,0]
Weight       [X]
Salary       []
Gender       [XX]

现在,使用此信息,我必须将数据文件“data.csv”中所有相应属性的所有缺失值替换为 NaN。数据文件中的数据表示为:

Height   Weight  Salary  Gender
-1       50      20000    F
132      X                XX

我怎样才能做到这一点?

最佳答案

假设您阅读了 CSV,它们看起来像:

  Attribute Missing value representation
0    Height                      [-1, 0]
1    Weight                          [X]
2    Salary                           []
3    Gender                         [XX]

   Height Weight Salary Gender
0      -1     50  20000      F
1     132      X            XX

您可以执行以下操作:

import numpy as np
for key,row in details.iterrows():
    for el in row['Missing value representation']:
        data[row['Attribute']].replace(el,np.NaN,inplace=True)

您为每一列获取所有可能的缺失值表示,然后查看这些列并将这些值替换为 NaN。

关于python - 不同数据帧列中列出的不同缺失值将替换为 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54824139/

相关文章:

python - 使用 BeautifulSoup 查找嵌套标签的原始位置

python - groupby 数据帧上的 .rolling()

python - 在 Python 中使用 matplotlib 转换数组列表以进行绘图

python - 最简单的 django 定时/计划任务(例如 : reminders)?

python - 当按 pandas 中的另一列分组时如何返回 value_counts()

Python-如何重置列数据框名称pandas中的数字顺序?

python - 如何将 Dataframe 转换为 Series?

pandas - 如何在 pandas.MultiIndex 中找到部分字符串匹配

python - Python 数据框中的滚动和累积标准差

python - 将连续的行附加到 Python 数据框