熊猫多索引将浮点数更改为字符串

大卫·汉普罕
pd.__version__
'0.15.2'

我有一个熊猫的数据框,它具有三个级别的多索引。当我连接两个数据帧时,它将最低的索引转换为一个浮点数,它应该是一个字符串。在此处输入图片说明

在此处输入图片说明 我试图用什么都没有替换.0

idx=str(dfmaster_stats.index.levels[2]).replace('.0', '')

在此处输入图片说明 并将其分配给数据框,但出现此错误

TypeError: 'FrozenList' does not support mutable operations.

我查看了其他问题,发现无法更改多个索引,因此我尝试为数据框重新编制索引。我关注了这个问题,但是两种解决方案均无效。

熊猫:修改特定级别的Multiindex

它肯定看起来不正确。我究竟做错了什么?在此处输入图片说明

我也尝试过set_levels,但不确定语法。

dfmaster_stats.index.set_levels(dfmaster_stats.index.levels[2](idx), level =2)

给我这个错误

TypeError: 'Index' object is not callable
埃文

就像其他文章中提到的那样,重置索引,更改dtype和设置新索引可能会更容易。

np.random.seed(0)
tuples = list(zip(*[['bar', 'bar', 'baz', 'baz',
                     'foo', 'foo', 'qux', 'qux'],
                      [1.0, 2.0, 1.0, 2.0,
                       1.0, 2.0, 1.0, 2.0]]))

idx = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
df = pd.DataFrame(np.random.randn(8, 2), index=idx, columns=['A', 'B'])

print(df)
print(df.index.get_level_values("second").dtype)

输出:

                         A         B
first second                    
bar   1.0     1.764052  0.400157
      2.0     0.978738  2.240893
baz   1.0     1.867558 -0.977278
      2.0     0.950088 -0.151357
foo   1.0    -0.103219  0.410599
      2.0     0.144044  1.454274
qux   1.0     0.761038  0.121675
      2.0     0.443863  0.333674
float64

现在,重置索引,更改dtype并设置新索引。

df = df.reset_index()
df["second"] = df["second"].astype(int).astype(str)
df = df.set_index(["first", "second"])

print(df)
print(df.index.get_level_values("second").dtype)

输出:

                     A         B
first second                    
bar   1       1.764052  0.400157
      2       0.978738  2.240893
baz   1       1.867558 -0.977278
      2       0.950088 -0.151357
foo   1      -0.103219  0.410599
      2       0.144044  1.454274
qux   1       0.761038  0.121675
      2       0.443863  0.333674
object

总的来说,我发现操纵多索引(索引?)有时值得,而有时却不值得。更改级别变得冗长。如果您致力于原因,那么可以这样做:

idx0 = df.index.levels[0]
idx1 = df.index.levels[1].astype(str).str.replace('.0', '')

df.index = df.index.set_levels([idx0, idx1])
print(df.index.levels[1].dtype)

输出:

object

如果您提供用于创建数据框的示例代码,我可以将其扩展到3个级别,也可以解决。:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

numpy.delete将浮点数组更改为字符串

来自分类Dev

在执行网络抓取Python时将字符串更改为浮点数

来自分类Dev

Google大查询:如何将数据类型从字符串更改为浮点数?

来自分类Dev

遍历熊猫字符串索引使它们变成浮点数

来自分类Dev

熊猫将浮点数转换为不带小数的字符串

来自分类Dev

熊猫数据框将特定列从字符串转换为浮点数

来自分类Dev

熊猫将字符串比率评估为浮点数

来自分类Dev

熊猫Python错误:无法将字符串转换为浮点数

来自分类Dev

如何停止试图将字符串转换为浮点数的熊猫?

来自分类Dev

Python将字符串转换为浮点数

来自分类Dev

formatFloat:将浮点数转换为字符串

来自分类Dev

将字符串总和打印为浮点数

来自分类Dev

将字符串转换为浮点数

来自分类Dev

无法将字符串转换为浮点数

来自分类Dev

将字符串解析为浮点数

来自分类Dev

解析浮点数的字符串

来自分类Dev

从字符串创建浮点数

来自分类Dev

解析浮点数的字符串

来自分类Dev

将百分比字符串转换为浮点数在熊猫中read_csv

来自分类Dev

将熊猫数据框列从带逗号的字符串转换为带点浮点数时出错

来自分类Dev

将字符串转换为浮点数:将“ 8.9km”转换为浮点数

来自分类Dev

如何将字符串编码的浮点数组解组为浮点数组?

来自分类Dev

将4D浮点数组从txt(字符串)文件转换为numpy浮点数组

来自分类Dev

我的程序将值计算为字符串而不是浮点数,即使我更改了类型

来自分类Dev

将64位浮点格式字符串转换为浮点数

来自分类Dev

如何识别浮点变量?获取 ValueError: 无法将字符串转换为浮点数:

来自分类Dev

如何在熊猫的浮点数中转换负字符串?

来自分类Dev

如何过滤包含字符串和浮点数的熊猫数据框?

来自分类Dev

过滤熊猫数据框列中的字符串/浮点数/整数值

Related 相关文章

  1. 1

    numpy.delete将浮点数组更改为字符串

  2. 2

    在执行网络抓取Python时将字符串更改为浮点数

  3. 3

    Google大查询:如何将数据类型从字符串更改为浮点数?

  4. 4

    遍历熊猫字符串索引使它们变成浮点数

  5. 5

    熊猫将浮点数转换为不带小数的字符串

  6. 6

    熊猫数据框将特定列从字符串转换为浮点数

  7. 7

    熊猫将字符串比率评估为浮点数

  8. 8

    熊猫Python错误:无法将字符串转换为浮点数

  9. 9

    如何停止试图将字符串转换为浮点数的熊猫?

  10. 10

    Python将字符串转换为浮点数

  11. 11

    formatFloat:将浮点数转换为字符串

  12. 12

    将字符串总和打印为浮点数

  13. 13

    将字符串转换为浮点数

  14. 14

    无法将字符串转换为浮点数

  15. 15

    将字符串解析为浮点数

  16. 16

    解析浮点数的字符串

  17. 17

    从字符串创建浮点数

  18. 18

    解析浮点数的字符串

  19. 19

    将百分比字符串转换为浮点数在熊猫中read_csv

  20. 20

    将熊猫数据框列从带逗号的字符串转换为带点浮点数时出错

  21. 21

    将字符串转换为浮点数:将“ 8.9km”转换为浮点数

  22. 22

    如何将字符串编码的浮点数组解组为浮点数组?

  23. 23

    将4D浮点数组从txt(字符串)文件转换为numpy浮点数组

  24. 24

    我的程序将值计算为字符串而不是浮点数,即使我更改了类型

  25. 25

    将64位浮点格式字符串转换为浮点数

  26. 26

    如何识别浮点变量?获取 ValueError: 无法将字符串转换为浮点数:

  27. 27

    如何在熊猫的浮点数中转换负字符串?

  28. 28

    如何过滤包含字符串和浮点数的熊猫数据框?

  29. 29

    过滤熊猫数据框列中的字符串/浮点数/整数值

热门标签

归档