我想'廣播'從df1到df2的日期列。從一個數據框添加日期(系列)列到另一個熊貓,Python
在df1中,我擁有所有用戶及其基本信息的名稱。 在df2中,我有一個由用戶購買的列表。
假設我有一個更大的數據集(以上爲樣本創建)我怎麼可以只添加(!)的DF1 [ 'DOB']列DF2?
我曾經嘗試都CONCAT()和合並(),但他們都不工作:
似乎工作的唯一方法是隻有當我合併兩個DF1和DF2在一起然後刪除我不需要的列。但是,如果我有幾十個不需要的列,這將是非常有問題的。
的完整代碼(包括拋出一個錯誤的線路):
import pandas as pd
df1 = pd.DataFrame(columns=['Name','Age','DoB','HomeTown'])
df1['Name'] = ['John', 'Jack', 'Wendy','Paul']
df1['Age'] = [25,23,30,31]
df1['DoB'] = pd.to_datetime(['04-01-2012', '03-02-1991', '04-10-1986', '06-03-1985'], dayfirst=True)
df1['HomeTown'] = ['London', 'Brighton', 'Manchester', 'Jersey']
df2 = pd.DataFrame(columns=['Name','Purchase'])
df2['Name'] = ['John','Wendy','John','Jack','Wendy','Jack','John','John']
df2['Purchase'] = ['fridge','coffee','washingmachine','tickets','iPhone','stove','notebook','laptop']
df2 = df2.concat(df1) # error
df2 = df2.merge(df1['DoB'], on='Name', how='left') #error
df2 = df2.merge(df1, on='Name', how='left')
del df2['Age'], df2['HomeTown']
df2 #that's how i want it to look like
任何幫助將非常感激。謝謝:)
使用像這樣的''pd.concat([df1,df2],axis = 1)' –