首页 > 解决方案 > 在 pandas/python 的数据框中合并两列文本“与换行”

问题描述

在 pandas/python 的数据框中合并两列文本

所以我试图用上面答案中给出的解决方案来改变一条线。

例如,

   Year     quarter period
0  2014    q1     2014q1
1  2015    q2     2015q2

我想在我的“期间”栏中看到的不是 2014 年第一季度
,而是

2014   
 q1

2014 年末第一季度

我希望当不同列的两个内容合并时,我可以将一列的内容放在不同列的内容下方。

我努力了

dataframe["period"] = dataframe["Year"].map(str) +'\n' + dataframe["quarter"]

但它不起作用。上面的代码给了我

 2014 \n q1

有什么建议吗?

标签: pythonpandasnumpydataframe

解决方案


使用DataFrame.stack()

df = pd.DataFrame({'Year': [2014,2015], 'period': ['q1','q2']})
df.stack()

它为您提供:

0  Year      2014
   period      q1
1  Year      2015
   period      q2

第一(索引)列没有0在第二行和1最后一行显式打印,但这些是隐含的。它的含义与以下内容相同:

0  Year      2014
0  period      q1
1  Year      2015
1  period      q2

推荐阅读