使用Pandas将列从一个Dataframe添加到另一个具有不同列名的列

时间:2018-06-11 17:56:34

标签: python pandas dataframe append names

我有一个名为价格的数据框包含两列:时间戳和收盘价。内容如下:

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

我想要做的是将价格数据框的收盘价附加到上面的输出数据框,以获得一个如下所示的数据框:

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

我知道我可以合并2个数据帧,然后使用

删除Timestamp列
output.drop['Timestamp'], axis=1)

我可以使用\

删除NaN值
output.dropna()

但我不能将2个文件合并到不同的列上。我怎样才能做到这一点?更新后的代码如下:

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)

任何和所有帮助将不胜感激。

由于

0 个答案:

没有答案