Python 如何将特定列的空值替换为该列中的某个值?

Python 如何将特定列的空值替换为该列中的某个值?,python,python-3.x,pandas,dataframe,numpy,Python,Python 3.x,Pandas,Dataframe,Numpy,例如,我有一个像这样的CSV文件 身份证件 名称 项目 数量 1. Sta 面包 67 2. 丹尼 黄油 3. 艾尔 奶酪 4. 做记号 咖啡 9 尝试使用替换: df['Qty'] = df['Qty'].replace('', 0).astype(int) 因此,完整的代码是: import pandas as pd df = pd.read_csv("sample.csv") df['Qty'] = df['Qty'].replace('', 0).astype(i

例如,我有一个像这样的CSV文件

身份证件 名称 项目 数量 1. Sta 面包 67 2. 丹尼 黄油 3. 艾尔 奶酪 4. 做记号 咖啡 9
尝试使用
替换

df['Qty'] = df['Qty'].replace('', 0).astype(int)
因此,完整的代码是:

import pandas as pd

df = pd.read_csv("sample.csv")
df['Qty'] = df['Qty'].replace('', 0).astype(int)
print(df)
你也可以使用

输入
Sample.csv

id,name,item,Qty
1,Sta,bread,67
2,Danny,butter,
3,Elle,cheese,
4,Mark,coffee,9
输出

import pandas as pd
df = pd.read_csv("sample.csv")
print(df)
   id   name    item   Qty
0   1    Sta   bread  67.0
1   2  Danny  butter   NaN
2   3   Elle  cheese   NaN
3   4   Mark  coffee   9.0
df['Qty']=df['Qty'].fillna('0').astype(int)
print(df)
   id   name    item Qty
0   1    Sta   bread  67
1   2  Danny  butter   0
2   3   Elle  cheese   0
3   4   Mark  coffee   9

您的代码将替换“数量”字段中的67.0、9.0之类的内容,但不会替换空字段values@AtomStore你是什么意思?它用67.0替换67,用9.0替换9,而不是用0@AtomStore我编辑了我的答案,请向上投票并接受如果它工作,因为有空值,它会引发ValueError:无法转换非有限值(NA或inf)对于整数,它们不是
nan
,它们是空字符串。这将所有数量替换为0Ah!但没有价值观。缺少值不是意味着
NaN
@U11-Forward@ArunPalanisamy不,他们的意思是
,但我复制粘贴了csv中的OPs样本数据。当我打印时,它会为那些缺少的值提供
NaN
。@U11 Forward
import pandas as pd
df = pd.read_csv("sample.csv")
print(df)
   id   name    item   Qty
0   1    Sta   bread  67.0
1   2  Danny  butter   NaN
2   3   Elle  cheese   NaN
3   4   Mark  coffee   9.0
df['Qty']=df['Qty'].fillna('0').astype(int)
print(df)
   id   name    item Qty
0   1    Sta   bread  67
1   2  Danny  butter   0
2   3   Elle  cheese   0
3   4   Mark  coffee   9