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

前端之家收集整理的这篇文章主要介绍了python – 在Pandas中将列连接为索引前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在将文本文件导入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.

猜你在找的Python相关文章