加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 在Pandas中将列连接为索引

发布时间:2020-12-16 23:37:08 所属栏目:Python 来源:网络整理
导读:我正在将文本文件导入pandas,并希望连接文件中的3个列以生成索引. 我愿意在一个或多个步骤中这样做.我可以在创建DataFrame的同时进行转换,或者我可以创建DataFrame并使用新创建的列重新构建它.知道如何以这两种方式做到这一点对我来说是最有帮助的. 我最终希
我正在将文本文件导入pandas,并希望连接文件中的3个列以生成索引.

我愿意在一个或多个步骤中这样做.我可以在创建DataFrame的同时进行转换,或者我可以创建DataFrame并使用新创建的列重新构建它.知道如何以这两种方式做到这一点对我来说是最有帮助的.

我最终希望索引是连接前3列中的值的值.

解决方法

如果你的列由字符串组成,你可以只使用运算符(在字符串的上下文中添加它们是在 python中连接它们,pandas遵循这个):
In [1]: import pandas as pd

In [2]: df = pd.DataFrame({'year':['2012','2012'],'month':['01','02']})

In [3]: df
Out[3]:
  month  year
0    01  2012
1    02  2012

In [4]: df['concatenated'] = df['year'] + df['month']

In [5]: df
Out[5]:
  month  year concatenated
0    01  2012       201201
1    02  2012       201202

然后,如果创建了此列,则可以使用set_index来更改索引

In [6]: df = df.set_index('concatenated')

In [7]: df
Out[7]:
             month  year
concatenated
201201          01  2012
201202          02  2012

请注意,pd.concat不是为了连接字符串而是连接系列/数据帧,因此要将不同数据帧或系列的列或行一起添加到一个数据帧中(而不是将几行/列添加到一行/列中).有关详细说明,请参见http://pandas.pydata.org/pandas-docs/dev/merging.html.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读