如何修改pd.DataFrame自动生成的行索引为0.0、0.1、0.2?
解决方法
直接替换现有索引
假设你的DataFrame变量名是df,直接给df.index赋值新的索引列表,原索引会被完全覆盖:df.index = [0.0, 0.1, 0.2]修改后原有的0、1、2索引就会被替换,后续使用
.stack()时就会用新的索引。创建DataFrame时直接指定索引
如果是刚用np.outer生成数据转成DataFrame,不如一步到位,创建时就指定行索引:import numpy as np import pandas as pd # 示例:用np.outer生成数据 arr1 = [1, 2, 3] arr2 = [4, 5, 6] outer_data = np.outer(arr1, arr2) # 创建DataFrame时直接设置行索引 df = pd.DataFrame(outer_data, index=[0.0, 0.1, 0.2])
你之前插入行的思路不对——插入行是新增数据行,不是替换索引,所以原索引依然会被.stack()调用,直接替换索引才是满足需求的操作。
内容的提问来源于stack exchange,提问作者Roman
相关产品推荐
相关产品推荐

