【发布时间】:2016-02-28 18:04:53
【问题描述】:
为什么我可以用 ('a','b') 而不是 (1.0, 2.0) 重命名熊猫系列中的一行。为什么元组中值的类型很重要?
df = pd.DataFrame({'a': [1,2,3,4,5], 'b':[1,1,1,1,1,]}).set_index('a')
df.rename(index={1:(1,2)})
*** ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
df.rename(index={1:('1','2')})
b
a
(1, 2) 1
2 1
3 1
4 1
5 1
我非常希望能够将其保留为整数/浮点数。
【问题讨论】:
-
我的熊猫版本是:'0.14.1'
-
当前版本为0.17.1。您可以升级并重试吗?
-
我不确定我是否可以升级。该公司在 pandas 0.14.1 之上构建了很多架构,升级很可能会破坏很多架构。当前版本没有解决方法吗?我会阅读版本说明。
-
可能,但不幸的是,由于我无法重现该问题,我无法测试我可能提出的任何建议是否有效。希望其他人可以提供帮助。
-
好的,谢谢@DSM,我会考虑更新
标签: python pandas dataframe rename series