首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Pandas系列命名为series

Pandas系列命名为series
EN

Stack Overflow用户
提问于 2018-02-14 07:07:28
回答 3查看 2.7K关注 0票数 3

我正在访问pandas数据帧行,因此我得到了pandas系列。我的解析例程接受命名元组。是否可以将pandas序列转换为命名元组?

EN

Stack Overflow用户

发布于 2018-02-14 07:11:58

无论您在做什么,您都可以只使用df.itertuples

代码语言:javascript
运行
复制
In [5]: df
Out[5]:
     c0    c1    c2    c3    c4    c5    c6    c7    c8    c9
0   8.0   2.0   1.0   4.0   4.0   3.0   1.0  19.0   5.0   9.0
1   7.0   7.0   0.0   4.0  14.0   7.0   9.0   0.0   0.0   9.0
2  19.0  10.0   6.0  13.0  12.0  11.0   8.0   4.0  11.0  13.0
3  14.0   0.0  16.0  19.0   3.0   8.0   8.0   9.0  17.0  13.0
4  18.0  16.0  10.0   8.0  15.0   9.0  18.0   9.0   5.0  10.0
5  15.0   7.0  16.0   3.0  18.0  14.0   3.0   6.0   0.0   9.0
6  14.0  14.0  18.0   4.0   4.0   0.0   8.0  15.0   8.0  12.0
7  19.0  16.0  15.0  16.0   1.0  12.0  14.0   1.0  10.0  15.0
8   8.0  17.0  10.0  18.0   7.0  13.0  13.0  12.0   6.0  11.0
9  15.0  13.0  13.0  17.0   2.0   0.0   6.0  10.0   5.0   5.0

In [6]: rows = df.itertuples(name='Row')

In [7]: r0 = next(rows)

In [8]: r0
Out[8]: Row(Index=0, c0=8.0, c1=2.0, c2=1.0, c3=4.0, c4=4.0, c5=3.0, c6=1.0, c7=19.0, c8=5.0, c9=9.0)

In [9]: r0.c0
Out[9]: 8.0

否则,你将不得不自己做,就像这样:

代码语言:javascript
运行
复制
In [10]: from collections import namedtuple

In [11]: df.columns
Out[11]: Index(['c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9'], dtype='object')

In [12]: Row = namedtuple('Row', df.columns)

In [13]: df.iloc[0]
Out[13]:
c0     8.0
c1     2.0
c2     1.0
c3     4.0
c4     4.0
c5     3.0
c6     1.0
c7    19.0
c8     5.0
c9     9.0
Name: 0, dtype: float64

In [14]: Row(*df.iloc[0])
Out[14]: Row(c0=8.0, c1=2.0, c2=1.0, c3=4.0, c4=4.0, c5=3.0, c6=1.0, c7=19.0, c8=5.0, c9=9.0)

注意,此版本没有index字段...

票数 4
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48777154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档