Python教程

python使用pandas模块设置行列索引后单元数值全变Nan值

本文主要是介绍python使用pandas模块设置行列索引后单元数值全变Nan值,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

问题背景

使用pandas模块设置行列索引后单元数值全变Nan值
代码如下

# 错误
# 构造行索引序列
st_code = ['股票'+str(i) for i in range(st_change.shape[0])]
print(st_code)
# 添加行索引
data = pd.DataFrame(st_change, index=st_code)
data

在这里插入图片描述

解决问题

原因分析

这种写法可能不适用

正确写法:
方法1:对dataframe结构的行索引index直接更改,有可能出问题,取决于赋什么值。以前这样做可以,现在不太推荐了

print(st_change.shape)
print(st_change.shape[0])
print(st_change.shape[1])
# 构造行索引序列
st_code = ['股票'+ str(i) for i in range(st_change.shape[0])]
print(st_code)

# 添加行索引
data = pd.DataFrame(st_change)
data.index = st_code
data

在这里插入图片描述
方法2:用rename方法改
df.rename(index={原行索引名:替换行索引名})

这篇关于python使用pandas模块设置行列索引后单元数值全变Nan值的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!