【问题标题】:Shift the values in a python dataframe [duplicate]移动python数据框中的值[重复]
【发布时间】:2019-05-30 01:51:31
【问题描述】:

我有以下问题。如果某些单元格为空,我必须将数据框(python)中的值向左移动。所以,如果我有一个数据框

  col1 col2 col3 col4
0    A         B    D
1    C    E    E    A
2    E    A    E    A
3    A         D    D
4    B    B    B    B
5    D         A    D
6    F    F         F
7    E    E    E    E
8    B    B    B    B

我要获取数据框

  col1 col2 col3 col4
0    A    B    D
1    C    E    E    A
2    E    A    E    A
3    A    D    D
4    B    B    B    B
5    D    A    D
6    F    F    F
7    E    E    E    E
8    B    B    B    B

实际上我的列数远不止 4 个,因此我希望找到一个不依赖于确切列数的解决方案。如果任何人都可以给我一个链接,其中解释了对数据帧的类似操作,那也很好。至于现在,我并不真正了解 python 数据帧是如何组织的(我来自 SAS 世界,python 对我来说是相当新的)。 提前谢谢你。

编辑:仅当单元格仅包含一个符号时,使用“Python:对齐 NumPy 数组”中的 justify 函数的建议解决方案才有效。

【问题讨论】:

标签: python dataframe


【解决方案1】:

你可以只使用内置的fillna

df.fillna(method='bfill', axis=1)

【讨论】:

  • 谢谢,但它不起作用。也许是因为单元格的内容是“”,这似乎与 nan 不同。
  • 你可以用 np.nan 替换所有的“”实例,然后它应该允许它工作
  • 是的,现在它起作用了,但只是部分起作用。它不会移动单元格,而是用右侧单元格的内容替换空单元格。但在那之后右边的单元格不是空的。这不是我要找的。​​span>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-27
  • 2023-03-05
  • 1970-01-01
  • 2019-04-28
  • 1970-01-01
  • 2022-11-17
相关资源
最近更新 更多