python - 当其他列等于某些值时,csvfile将NaN替换为列值

时间:2018-06-05 18:15:59

标签: python csv nan

对不起,如果标题有点长而奇怪......

我有以下csv文件:

Date,Value1,Value2
01-01-01,01,01
02-01-01,02,00
03-01-01,03,01
04-01-01,04,01

在此数据集中,当Value1列的数据等于NaN时,我想用Value2替换00列的数据。

因此输出数据集应如下所示:

Date,Value1,Value2
01-01-01,01,01
02-01-01,NaN,00
03-01-01,03,01
04-01-01,04,01

我尝试使用以下代码,但我遗漏了一些条件,但显然不起作用:

data = pd.read_csv("test.csv")
data['Value1'][data.Value2 == 00] = np.NaN

有谁知道如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

import pandas as pd
import numpy as np
df=pd.read_csv('C:/Users/your_csv.csv')
df.loc[df['Value2'] == 0,'Value1']=np.nan

输出

        Date     Value1 Value2
    0   1/1/2001    1.0 1
    1   2/1/2001    NaN 0
    2   3/1/2001    3.0 1
    3   4/1/2001    4.0 1