python—如何将列分组为一个列

gg58donl  于 2021-09-29  发布在  Java
关注(0)|答案(3)|浏览(427)

如何将列分组为一个?
我有一个类似于:
项目价格1价格2第一次13第二次24
我想创建一个新的df,如:
价格1234

zaq34kh6

zaq34kh61#

您可以使用Pandas系列的附加功能。假设您不关心索引,这将起作用:

df['price1'].append(df['price2'])
nzrxty8p

nzrxty8p2#

一种优雅的方式是:

import pandas as pd

x = pd.DataFrame({'price1': [4, 3, 2],
                  'price2': [1, 5, 6]})

final = pd.DataFrame({'price': x['price1'].to_list() + x['price2'].to_list()})
hujrc8aj

hujrc8aj3#

您只能使用包含单词price的列,使用 filter(like='price') ,然后 stack() ,最后,将该列重命名为“price”:

df.filter(like='price').stack().reset_index()[[0]].rename(columns={0: 'price'})

与之类似的方法 pd.concat() :

pd.concat([df['price1'],df['price2']],axis=0).to_frame().rename(columns={0: 'price'})

两者都有回报:

price
0      1
1      3
2      2
3      4

相关问题