python - csvfile заменяет значения столбца на NaN, когда другой столбец равен определенным значениям - PullRequest
0 голосов
/ 05 июня 2018

Извините, если заголовок какой-то длинный и странный ...

У меня есть следующий 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 голосов
/ 05 июня 2018
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
...