首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将索引“前缀”组合到Pandas系列中的数据?是否创建了一个numpy数组?

如何将索引“前缀”组合到Pandas系列中的数据?是否创建了一个numpy数组?
EN

Stack Overflow用户
提问于 2016-08-27 03:33:42
回答 2查看 450关注 0票数 1

我有一个熊猫系列:

代码语言:javascript
复制
import pandas 
ser = pd.Series(...)
ser

idx1     23421535123415135
idx2     98762981356281343
idx3     394123942916498173
idx4     41234189756983411
...
idx50    123412938479283419

我想将索引组合到每个数据行的前面。我正在寻找的输出是:

代码语言:javascript
复制
idx1 23421535123415135
idx2 98762981356281343
idx3 394123942916498173
idx4 41234189756983411
...
idx50 123412938479283419

这可以是pandas Series (其中数组自然被索引)或numpy数组。

对于dataframe,为了组合两个列,您可以使用:

代码语言:javascript
复制
df["newcolumn"] = df[['columnA','columnB']].astype(str).sum(axis=1)

但我对如何通过熊猫系列来实现这一点感到困惑。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-27 03:53:41

假设你从你的系列开始:

代码语言:javascript
复制
 In [34]: s = pd.Series(data=[1, 2], index=['idx0', 'idx1'])

然后你可以这样做

代码语言:javascript
复制
In [35]: t = s.reset_index()

In [36]: t['index'].astype(str) + ' ' + t[0].astype(str)
Out[36]: 
0    idx0 1
1    idx1 2
dtype: object

请注意,如果你不需要在中间引入空格,那么它会更短:

代码语言:javascript
复制
In [37]: s.reset_index().astype(str).sum(axis=1)
Out[37]: 
0    idx01
1    idx12
dtype: object
票数 1
EN

Stack Overflow用户

发布于 2016-08-27 04:18:45

您可以使用pandas.series.str.cat

代码语言:javascript
复制
In[8]:ser
Out[8]: 
idx0     23421535123415135
idx1     98762981356281343
idx2    394123942916498173
idx3     41234189756983411
dtype: int64

In[9]:ser=pd.Series(ser.index.astype(str).str.cat(ser.astype(str),' '))

In[10]:ser
Out[10]: 
0     idx0 23421535123415135
1     idx1 98762981356281343
2    idx2 394123942916498173
3     idx3 41234189756983411
dtype: object
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39173560

复制
相关文章

相似问题

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