【问题标题】:Split row that have multiple value in a cell and append back to the data list拆分单元格中具有多个值的行并附加回数据列表
【发布时间】:2019-03-07 04:34:16
【问题描述】:

我有这个数据框,其中Postcode 中的某些值可能有多个邮政编码。我尝试做的是拆分具有多个邮政编码的行,然后附加回数据框中。

我已经使用以下代码获得了具有多个邮政编码的索引列表;

index_list = df_selangor[df_selangor['Postcode'].str.contains(' ')].index

这允许我创建新的数据框,然后像这样拆分 Postcode 中的值;

df_selangor_split = df_selangor.copy()
df_selangor_split = df_selangor_split[df_selangor_split.index.isin(index_list)]
df_selangor_split['Postcode'] = df_selangor_split['Postcode'].str.split()

但是,我在这一步之后卡住了。我不知道如何再次拆分它,以便复制 Area 并且只有 1 个邮政编码。

【问题讨论】:

标签: python pandas


【解决方案1】:
pd.concat([pd.Series(row['Area'], row['Postcode'].split(','))
         for _, row in dfx.iterrows()])

基本上,我们迭代每一行并为每个区域拆分邮政编码列,然后将其连接起来。

【讨论】:

  • 这段代码解决了这个问题......但它有点搞乱我的 DataFrame 布局......谢谢
  • 有点乱?你可以解释吗?此外,您可以将新数据框设置为不同的变量。
  • 那么代码将Postcode 值作为索引,因此当我重置数据帧的索引时,Postcode 成为第一个值...没关系,我只需要重新排列专栏回来......没什么大不了
猜你喜欢
  • 2020-04-03
  • 2019-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-15
  • 2020-09-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多