python - 如何使用 Pandas 中的 assign() 方法创建包含空格的列

标签 python pandas

示例数据:

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'}})

现在我的问题是:

我正在尝试使用 assign() 方法创建一个包含 whitespace 的列:

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'}))

关于python - 如何使用 Pandas 中的 assign() 方法创建包含空格的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67180716/

相关文章:

python - 如何在Python中实现Switch-Case?

python - 如何将 python 中的 .place() 方法转换为 java?

python - 如何使用 Pandas 数据框作为全局变量?

python - 具有相似字符串模式的两个数据帧的匹配序列,保持索引和序列

python - Theano矩阵逆

python - 我可以通过 gsl_function 的包装或 cython 重新声明将 cython 类方法分配给 gsl_function 结构吗?

python - 使用 pandas groupby 获取对应于最小值的行

Python:打印 pandas 数据框时删除列表元素的括号

python - 将异步可迭代对象转换为同步可迭代列表的内置方法

pandas - 为什么我不能删除默认的 Pandas plot logy yticklabels?