Pandas DataFrame 列连接
Posted
技术标签:
【中文标题】Pandas DataFrame 列连接【英文标题】:Pandas DataFrame column concatenation 【发布时间】:2013-11-09 14:28:10 【问题描述】:我有一个带有 100 万行和 5 列的 pandas Dataframe y。
np.shape(y)
(1037889, 5)
列值都是 0 或 1。看起来像这样:
y.head()
a, b, c, d, e
0, 0, 1, 0, 0
1, 0, 0, 1, 1
0, 1, 1, 1, 1
0, 0, 0, 0, 0
我想要一个包含 100 万行和 1 列的数据框。
np.shape(y)
(1037889, )
其中的列只是连接在一起的 5 列。
New column
0, 0, 1, 0, 0
1, 0, 0, 1, 1
0, 1, 1, 1, 1
0, 0, 0, 0, 0
我一直在尝试不同的东西,例如merge
、concat
、dstack
等...
但似乎无法弄清楚这一点。
【问题讨论】:
【参考方案1】:如果您希望新列将所有数据连接到字符串,那么 apply() 函数是一个很好的例子:
>>> df = pd.DataFrame('a':[0,1,0,0], 'b':[0,0,1,0], 'c':[1,0,1,0], 'd':[0,1,1,0], 'c':[0,1,1,0])
>>> df
a b c d
0 0 0 0 0
1 1 0 1 1
2 0 1 1 1
3 0 0 0 0
>>> df2 = df.apply(lambda row: ','.join(map(str, row)), axis=1)
>>> df2
0 0,0,0,0
1 1,0,1,1
2 0,1,1,1
3 0,0,0,0
【讨论】:
以上是关于Pandas DataFrame 列连接的主要内容,如果未能解决你的问题,请参考以下文章
pandas使用pd.DateOffset生成时间偏移量(指定年数月数天数小时分钟)把dataframe数据中的时间数据列统一偏移(相加偏移向后移动时间时间增加)
Pandas Dataframe 和 Series 连接返回空 Dataframe 或 NaN 列