如何在 pandas 数据框中添加具有重复值的列?

How to add a column in a pandas dataframe with values that repeat?

如果我有一个如下所示的 pandas 数据框:

     X [ m ]  Y [ m ]  Z [ m ]
0         1     1      0.0
1         2     0.5    0.1
2         3     2      0.3
3         4     1      0.4
4         5     3      0.5 
5         1     4      0.6
6         2     1.5    0.8
7         3     6      1.0
8         4     3      1.2
9         5     4      1.5
...

我如何添加第四列 (Z_2),看起来像这样(仅包括 0.5 跳跃的值):

     X [ m ]  Y [ m ]  Z [ m ]  Z_2 [ m ]
0         1     1      0.0      0.0
1         2     0.5    0.1      0.0
2         3     2      0.3      0.5
3         4     1      0.4      0.5
4         5     3      0.5      0.5
5         1     4      0.6      0.5
6         2     1.5    0.8      1.0 
7         3     6      1.0      1.0
8         4     3      1.2      1.0
9         5     4      1.5      1.5 
...

您可以尝试类似的方法:

df["Z_2"] = (df["Z"] % .5 == 0).cumsum() * .5

此处 df["Z"] % .5 == 0 查找 df["Z"] 中位于 .5 边界上的值, cumsum 只会在遇到 True 时加 1。

你可以试试:

df["Z_2"] = (df["Z"] // 0.5) * 0.5

如果你说的是 Z 列中只有 0.5 个“跳跃”。