【问题标题】:How to vectorize creating a new column with values based on other columns?如何矢量化创建具有基于其他列的值的新列?
【发布时间】:2020-04-11 23:51:49
【问题描述】:

关于以下数据框,如何使用矢量化创建一个新列“ADDRESS”,其中每行的单元格值是 STREET 和 NR 的串联?

STREET     | NR
Astreet    | 10
Bstreet    | 20
...

我知道这可以通过迭代 datraframe 的行来完成(为了清晰起见,非综合循环):

address_list = []

for index, row in org.iterrows():
    line = '{0} {1}' .format(row['STREET'], row['NR'])
    address_list.append(line.strip())

df['ADDRESS'] = address_list

这可以完成这项工作,但不是很省时,因为它是一个迭代操作。

【问题讨论】:

    标签: python-3.x pandas vectorization


    【解决方案1】:

    用空格将列连接起来,然后使用Series.str.strip

    df['ADDRESS'] = (df['STREET'] + ' ' + df['NR']).str.strip()
    

    或者使用Series.str.cat:

    df['ADDRESS'] = df['STREET'].str.cat(df['NR'], sep=' ').str.strip()
    

    【讨论】:

      猜你喜欢
      • 2021-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-30
      • 1970-01-01
      • 1970-01-01
      • 2015-08-01
      • 2019-04-03
      相关资源
      最近更新 更多