Python 在数据帧中格式化索引
我有以下代码通过合并到dfs来创建df,而dfs又按列“År”(挪威语表示年份)(2011、2012、2013等)分组 被调用函数返回以下内容:Python 在数据帧中格式化索引,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有以下代码通过合并到dfs来创建df,而dfs又按列“År”(挪威语表示年份)(2011、2012、2013等)分组 被调用函数返回以下内容: 年份索引(År)的格式为显示1位小数的float64索引。您知道如何将其显示为int(无小数)?您可以尝试以下代码: df.index = df.index.map(lambda x : int(x)) 您可以使用: 但如果索引中的某些NaN值不可能 需要用一些int替换它们,然后转换: df = pd.DataFrame({'a':[1,2,3]}
年份索引(
År
)的格式为显示1位小数的float64索引。您知道如何将其显示为int
(无小数)?您可以尝试以下代码:
df.index = df.index.map(lambda x : int(x))
您可以使用:
但如果索引中的某些NaN
值不可能
需要用一些int
替换它们,然后转换:
df = pd.DataFrame({'a':[1,2,3]}, index=[2011,2012,np.nan])
print (df)
a
2011.0 1
2012.0 2
NaN 3
df.index = df.index.fillna(1970).astype(int)
print (df)
a
2011 1
2012 2
1970 3
或先删除带有NAN的行:
df = df[df.index.notnull()]
df.index = df.index.astype(int)
print (df)
a
2011 1
2012 2
完全正确谢谢!杰出的谢谢!
df.index = df.index.astype(int)
df = pd.DataFrame({'a':[1,2,3]}, index=[2011,2012,np.nan])
print (df)
a
2011.0 1
2012.0 2
NaN 3
df.index = df.index.fillna(1970).astype(int)
print (df)
a
2011 1
2012 2
1970 3
df = df[df.index.notnull()]
df.index = df.index.astype(int)
print (df)
a
2011 1
2012 2