Panda Dataframe 系列替换值

Panda Dataframe Series Replace value

我在Python中有一个程序:

import pandas as pd
import numpy as np
import warnings
warnings.filterwarnings('ignore')

# Read a CSV file:
name = pd.read_csv("users.csv", delimiter=";") 

# Get the value of the row with index 0, column "Name"
name = users.iloc[0].get("Name")

# Supposedly replace the first user Name to np.NaN
users.iloc[0].replace(name , np.NaN, inplace=True)

我希望这会取代名称,但事实并非如此。 替换方式为:

Replace every name "name" with np.NaN ?
users.replace(name, np.NaN, inplace=True)

但是上一行不是要替换整个文件的名称吗?如何仅对行进行替换?

当您在 df.iloc[i] 上进行替换时,它不会保留回源数据帧。这是一个例子:

df = pd.DataFrame({'A': [1]})
Out[1]: 
A    1
Name: 0, dtype: int64

替换似乎起作用。

df.iloc[0].replace(1, 5)
Out[2]: 
A    5
Name: 0, dtype: int64

但它实际上并没有被发送回原始数据帧。

df
Out[3]: 
   A
0  1

您需要将替换语句的输出重新分配回数据框中的正确位置。像这样:

df.iloc[0] = df.iloc[0].replace(1, 5)
df
Out[57]: 
   A
0  5