python-使用元组作为pandas系列中的索引
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-使用元组作为pandas系列中的索引,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1091字,纯文字阅读大概需要2分钟。
内容图文
我的任务很简单.本质上,我想创建一个熊猫系列并将元组值用作索引.例如,
series_tmp = pd.Series()
series_tmp[(0,'a')] = 1
我想做的是,我想在pd.Series中再创建一行,其索引为(0,’a’),其值为1.
上面的代码得到错误:
KeyError: '[0 1] not in index'
有什么帮助吗?
我了解多索引,但无济于事.因为我需要像(‘a’,(2,’c’),’d’)这样非常复杂的元组作为键.
结论:感谢所有精彩的答案!要添加以元组为索引的行,我们应该这样做:
series_tmp = series_tmp.append(pd.Series([1],index=[(0,'a')]))
解决方法:
如果要根据数据创建具有多索引的系列对象,则可以通过构造一个以元组为键,数据为值的字典来实现.然后将其传递给系列构造函数.
import pandas as pd
d = {(0,'a'):1, (0,'b'):1.5, (1,'a'):3, (1,'b'):3.5}
s = pd.Series(d)
s
# returns:
0 a 1.0
b 1.5
1 a 3.0
b 3.5
dtype: float64
根据评论进行编辑:
对于这种情况,需要显式元组的索引.在这种情况下,您可以提前构造索引,然后在构造序列时将其用作索引参数.
ix = pd.Index([(1,'a'), ('a',(2,'b')), (2,('b',1))])
s = pd.Series(data=[1,5,9], index=ix)
s
# returns:
(1, a) 1
(a, (2, b)) 5
(2, (b, 1)) 9
dtype: int64
# check indexing into the series object
s[('a',(2,'b'))]
# returns:
5
内容总结
以上是互联网集市为您收集整理的python-使用元组作为pandas系列中的索引全部内容,希望文章能够帮你解决python-使用元组作为pandas系列中的索引所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。