使用Pandas将一个数据框的列添加到另一个具有不同列名的数据框中
使用Pandas将一个数据框的列添加到另一个具有不同列名的数据框中
我有一个名为prices的数据框,包含两列:Timestamp和closing prices。内容如下:
Timestamp Close 1/1/2017 0:00 966.6 1/1/2017 1:00 963.87 1/1/2017 2:00 963.97 1/1/2017 3:00 962.83
我还有另一个名为output的数据框,其内容如下:
created_at count 6/7/2018 19:00 1 6/7/2018 20:00 2 6/7/2018 21:00 3 6/7/2018 22:00 2 6/7/2018 23:00 1
我想要做的是将price数据框中的closing price追加到上述output数据框中,以获得一个如下所示的数据框:
created_at count close 1/1/2017 0:00 5 966.6 1/1/2017 1:00 1 963.87 1/1/2017 2:00 1 963.97 1/1/2017 3:00 1 962.83
我知道可以合并这两个数据框,然后使用以下代码删除Timestamp列:
output.drop['Timestamp'], axis=1)
我还可以使用以下代码删除NaN值:
output.dropna()
但是我无法在不同的列上合并这两个文件。我该如何做到这一点?更新后的代码如下:
import pandas as pd path1 = r'C:\Users\Ahmed Ismail Khalid\Desktop\Bullcrap Testing Delete Later\Bitcoin Prices Hourly Based.csv' path2 = r'C:\Users\Ahmed Ismail Khalid\Desktop\Bullcrap Testing Delete Later\adam3us.csv' path3 = r'C:\Users\Ahmed Ismail Khalid\Desktop\Bullcrap Testing Delete Later\ascending and final.csv' df1 = pd.read_csv(path1) df2 = pd.read_csv(path2) df3 = pd.read_csv(path3) output = pd.merge(df1, df2, how="inner", on="created_at") #column_name should be common in both dataframe. how represents type of intersection. In your case it will be inner(INNER JOIN) df4 = output.created_at.value_counts().rename_axis('created_at').reset_index(name='adam3us_tweets') df4 = df4.sort_values(by=['created_at']) # output the dataframe df4 print(df4,'\n\n') df4.to_csv('results.csv', encoding='utf-8',index=False)
任何帮助都将不胜感激。
谢谢。