【发布时间】:2014-03-26 17:46:53
【问题描述】:
我正在尝试在数据框中的 4 个特定列上用“”填充 NA,这些列是字符串/对象类型。我可以在 fillna() 时将这些列分配给一个新变量,但是当我 fillna() 就地时,基础数据不会改变。
a_n6 = a_n6[["PROV LAST", "PROV FIRST", "PROV MID", "SPEC NM"]].fillna("")
a_n6
给我:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 1542 entries, 0 to 3611
Data columns (total 4 columns):
PROV LAST 1542 non-null values
PROV FIRST 1542 non-null values
PROV MID 1542 non-null values
SPEC NM 1542 non-null values
dtypes: object(4)
但是
a_n6[["PROV LAST", "PROV FIRST", "PROV MID", "SPEC NM"]].fillna("", inplace=True)
a_n6
给我:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 1542 entries, 0 to 3611
Data columns (total 7 columns):
NPI 1103 non-null values
PIN 1542 non-null values
PROV FIRST 1541 non-null values
PROV LAST 1542 non-null values
PROV MID 1316 non-null values
SPEC NM 1541 non-null values
flag 439 non-null values
dtypes: float64(2), int64(1), object(4)
这只是一排,但仍然令人沮丧。我做错了什么?
【问题讨论】:
-
我也遇到过一些
inplace=True似乎被忽略的函数。虽然这不是您的问题,但在进行故障排除时值得牢记。