Python 如何加入数据帧而不丢失其名称
如何加入数据帧而不丢失其名称 我在一个列表中有几个数据帧,通过连接它们,我失去了每个数据帧的标识,因为它们有相等的列Python 如何加入数据帧而不丢失其名称,python,pandas,dataframe,Python,Pandas,Dataframe,如何加入数据帧而不丢失其名称 我在一个列表中有几个数据帧,通过连接它们,我失去了每个数据帧的标识,因为它们有相等的列 ticker_list = ['SBSP3.SA', 'CSMG3.SA', 'CGAS5.SA'] pd_list = [pd.read_csv('{}.csv'.format(ticker)) for ticker in ticker_list] for index, df in enumerate(pd_list): df['source'] = ticker_
ticker_list = ['SBSP3.SA', 'CSMG3.SA', 'CGAS5.SA']
pd_list = [pd.read_csv('{}.csv'.format(ticker)) for ticker in ticker_list]
for index, df in enumerate(pd_list):
df['source'] = ticker_list[index]
df = pd.concat(pd_list,axis = 1)
我得到以下输出:
由于数据帧的列相等,我不知道哪个条目属于哪个csv文件
我怎么把每个人的身份放在地牢里?例如:
Date High_SBSP3.SA Low_SBSP3.SA Open_SBSP3.SA Close_SBSP3.SA Volume_SBSP3.SA Adj Close_SBSP3.SA
0 2017-01-02 14.70 14.60 14.64 14.66 7525700.0 13.880955
1 2017-01-03 15.65 14.95 14.95 15.50 39947800.0 14.676315
2 2017-01-04 15.68 15.31 15.45 15.50 37071700.0 14.676315
3 2017-01-05 15.91 15.62 15.70 15.75 47586300.0 14.913031
4 2017-01-06 15.92 15.50 15.78 15.66 25592000.0 14.827814
阅读时使用
add_sufix
pd_list = [pd.read_csv(f'{ticker}.csv').add_suffix(ticker) for ticker in ticker_list]
或者您可以通过
axis=0
将股票代码定义为另一列
pd_list = [pd.read_csv(f'{ticker}.csv').assign(ticker=ticker) for ticker in ticker_list]
df = pd.concat(pd_list)
欢迎使用stackoverflow,复制并粘贴数据帧和预期输出的示例您的方法不推荐。最好是
concat
使用多索引列轻松地可视化连接数据帧中的每个子数据帧