【发布时间】:2018-03-16 09:36:57
【问题描述】:
我正在尝试将下面代码中生成的 NaN 值替换为 0。我不明白下面的内容不起作用。它仍然保留 NaN 值。
df_pubs=pd.read_sql("select Conference, Year, count(*) as totalPubs from publications where year>=1991 group by conference, year", db)
df_pubs['Conference'] = df_pubs['Conference'].str.encode('utf-8')
df_pubs = df_pubs.pivot(index='Conference', columns='Year', values='totalPubs')
df_pubs.fillna(0)
print df_pubs
print df produces这个:
Year 1991 \
Conference
223
10th Anniversary Colloquium of UNU/IIST NaN
15. WLP NaN
1999 ACM SIGMOD Workshop on Research Issues in Data Mining and Knowledge Discovery NaN
25 Years CSP NaN
【问题讨论】:
-
你需要
df_pubs = df_pubs.fillna(0)。fillna不会修改原始 DataFrame。 -
大部分pandas操作默认返回一个副本,有些有参数
inplace=True
标签: python-2.7 pandas dataframe nan