通过在pandas数据框中也复制其他一些列来堆积价值?

s_khan92

我有像这样的数据框:

df

ID              Brands          Age           Gender           City
1             BMW_Audi_VW       50             M               Milano
2               VW_BMW          45             F               SF

我想Brands在“ _”上拆分列,并希望复制所有列,除了City

我可以根据这样的ID列进行操作:

df = df.set_index('ID').stack().str.split('_', expand=True).unstack(-1).stack(0).reset_index()

但它仅重复ID列。我需要所有列,但不需要“城市”

这是我正在寻找理想输出

ID              Brands          Age           Gender           City
 1             BMW               50             M               Milano
 1             Audi              50             M               None
 1             VW                50             M               None
 2             VW                45             F               SF
 2             BMW               45             F               None
耶斯列尔

使用DataFrame.explode与分裂列中的值Series.str.split,然后设置NoneS按DataFrame.mask

df = df.assign(Brands = df['Brands'].str.split('_')).explode('Brands')

include = ['ID','Brands','Age','Gender']
cols = df.columns.difference(include)
df[cols] = df[cols].mask(df.index.to_series().duplicated(), None)
df = df.reset_index(drop=True)
print (df)
   ID Brands  Age Gender    City
0   1    BMW   50      M  Milano
1   1   Audi   50      M    None
2   1     VW   50      M    None
3   2     VW   45      F      SF
4   2    BMW   45      F    None

编辑:

检查差异:

#Brands column is assigned to Brands column (to same column)
df1= df.assign(Brands = df['Brands '].str.split('_')).explode('Brands')
print (df1)
   ID Brands  Age Gender    City
0   1    BMW   50      M  Milano
0   1   Audi   50      M  Milano
0   1     VW   50      M  Milano
1   2     VW   45      F      SF
1   2    BMW   45      F      SF

#Brands column is assigned to Brands1 column (to another column)
df2 = df.assign(Brands1 = df['Brands'].str.split('_')).explode('Brands')
print (df2)
   ID       Brands  Age Gender    City          Brands1
0   1  BMW_Audi_VW   50      M  Milano  [BMW, Audi, VW]
1   2       VW_BMW   45      F      SF        [VW, BMW]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 Pandas 数据框中插入新行,在保留其他数据的同时更改一些时间戳

来自分类Dev

通过查找其他行中的值来创建新的pandas数据框列

来自分类Dev

通过比较一些值从其他电子表格中获取数据

来自分类Dev

如何使用来自其他两列的数据和一些决定初始化数据框中的新列?

来自分类Dev

通过引用Python中数据框中的其他列来创建新列

来自分类Dev

通过对其他列进行一些计算,是否有最快的方法将列添加到数据集?

来自分类Dev

如何通过仅指定一些要添加的列来添加两个数据框

来自分类Dev

Python,通过检查数据框中其他3列的信息来匹配2列的值

来自分类Dev

一些数据标签未显示在堆积的列Highchart中

来自分类Dev

如何通过平均一些列来从existig数据帧中创建一个新的数据帧

来自分类Dev

根据数据框中的WHERE选择一些列

来自分类Dev

根据数据框中的WHERE选择一些列

来自分类Dev

R:如何从数据框中提取一些大数而不是其他数

来自分类Dev

根据匹配值从其他数据框中复制列

来自分类Dev

如何通过将一些现有列合并在一起来创建新的数据框?

来自分类Dev

列数,整数值,数据被截断以及其他一些消息

来自分类Dev

从Pandas数据框中的其他列创建新列

来自分类Dev

根据Pandas数据框中的其他三列更改一列的值

来自分类Dev

根据pandas数据框中的其他列创建一个聚合列

来自分类Dev

根据Pandas数据框中的其他三列更改一列的值

来自分类Dev

需要一些基本的Pandas帮助-尝试逐行打印数据框并对该行特定列中的元素执行操作

来自分类Dev

邮递员中的响应数据还有一些其他字符

来自分类Dev

在python中读取json文件时,数据中出现了一些其他的unicode符号

来自分类Dev

我想在名称字段中添加一些其他数据(Laravel 5.3)

来自分类Dev

合并数据框并保留一些列,同时重复某些列 pandas

来自分类Dev

热直接使用 ViewState 或其他一些方法来清除隐藏字段更新回发数据?

来自分类Dev

通过js复制html中的一些<tr>

来自分类Dev

通过将列的元素“乘以”其他列的名称来转换数据框

来自分类Dev

我需要一些帮助来查找列表中列表中的内容(以及其他内容)

Related 相关文章

  1. 1

    在 Pandas 数据框中插入新行,在保留其他数据的同时更改一些时间戳

  2. 2

    通过查找其他行中的值来创建新的pandas数据框列

  3. 3

    通过比较一些值从其他电子表格中获取数据

  4. 4

    如何使用来自其他两列的数据和一些决定初始化数据框中的新列?

  5. 5

    通过引用Python中数据框中的其他列来创建新列

  6. 6

    通过对其他列进行一些计算,是否有最快的方法将列添加到数据集?

  7. 7

    如何通过仅指定一些要添加的列来添加两个数据框

  8. 8

    Python,通过检查数据框中其他3列的信息来匹配2列的值

  9. 9

    一些数据标签未显示在堆积的列Highchart中

  10. 10

    如何通过平均一些列来从existig数据帧中创建一个新的数据帧

  11. 11

    根据数据框中的WHERE选择一些列

  12. 12

    根据数据框中的WHERE选择一些列

  13. 13

    R:如何从数据框中提取一些大数而不是其他数

  14. 14

    根据匹配值从其他数据框中复制列

  15. 15

    如何通过将一些现有列合并在一起来创建新的数据框?

  16. 16

    列数,整数值,数据被截断以及其他一些消息

  17. 17

    从Pandas数据框中的其他列创建新列

  18. 18

    根据Pandas数据框中的其他三列更改一列的值

  19. 19

    根据pandas数据框中的其他列创建一个聚合列

  20. 20

    根据Pandas数据框中的其他三列更改一列的值

  21. 21

    需要一些基本的Pandas帮助-尝试逐行打印数据框并对该行特定列中的元素执行操作

  22. 22

    邮递员中的响应数据还有一些其他字符

  23. 23

    在python中读取json文件时,数据中出现了一些其他的unicode符号

  24. 24

    我想在名称字段中添加一些其他数据(Laravel 5.3)

  25. 25

    合并数据框并保留一些列,同时重复某些列 pandas

  26. 26

    热直接使用 ViewState 或其他一些方法来清除隐藏字段更新回发数据?

  27. 27

    通过js复制html中的一些<tr>

  28. 28

    通过将列的元素“乘以”其他列的名称来转换数据框

  29. 29

    我需要一些帮助来查找列表中列表中的内容(以及其他内容)

热门标签

归档