如何将列分组为一个?我有一个类似于:项目价格1价格2第一次13第二次24我想创建一个新的df,如:价格1234
zaq34kh61#
您可以使用Pandas系列的附加功能。假设您不关心索引,这将起作用:
df['price1'].append(df['price2'])
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()})
hujrc8aj3#
您只能使用包含单词price的列,使用 filter(like='price') ,然后 stack() ,最后,将该列重命名为“price”:
filter(like='price')
stack()
df.filter(like='price').stack().reset_index()[[0]].rename(columns={0: 'price'})
与之类似的方法 pd.concat() :
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
3条答案
按热度按时间zaq34kh61#
您可以使用Pandas系列的附加功能。假设您不关心索引,这将起作用:
nzrxty8p2#
一种优雅的方式是:
hujrc8aj3#
您只能使用包含单词price的列,使用
filter(like='price')
,然后stack()
,最后,将该列重命名为“price”:与之类似的方法
pd.concat()
:两者都有回报: