如何在Pandas中使用assign()方法创建包含空格的列
样本数据:
import pandas as pd
df1=pd.DataFrame({'Original City': {'Daimler': 'Chicago',
'Mitsubishi': 'LA',
'Tesla': 'Vienna',
'Toyota': 'Zurich',
'Renault': 'Sydney',
'Ford': 'Toronto'}})
df2=pd.DataFrame({'Current City': {'Tesla': 'Amsterdam',
'Renault': 'Paris',
'BMW': 'Munich',
'Fiat': 'Detroit',
'Audi': 'Berlin',
'Ferrari': 'Bruxelles'}})
现在我的问题是:
我正在尝试创建一个包含whitespaceusingassign()方法的列:
df1.assign(Original City=df2['Current City'])
^
#white space
我试过:
df1.assign('Original City'=df2['Current City'])
df1.assign(r'Original City'=df2['Current City'])
正如预期的那样,它给了我一个错误:
File "<ipython-input-132-2ac564ac9d47>", line 1
df1.assign(Original City=df2['Current City'])
^
SyntaxError: invalid syntax
但我可以像这样分配我的列:
df1.assign(OriginalCity=df2['Current City'])
是否可以使用assign()方法创建包含“ ”空格(空格)的列?
回答
您可以使用解包字典:
d = {'Original City':df2['Current City']}
df1.assign(**d)
或者解压一个数据框:
df1.assign(**df2[['Current City']].rename({'Current City': 'Original City'}))