小编Dr *_*Dro的帖子

在非零值之间填充零,保留其他零

我需要按照标题中的说明在数据框列中填充零,我可以使用 iterrows() 或 itertuples()(类似的执行时间)和一些条件来完成,但我希望有一种更快的方法。

有一些连续的、相同的整数,有时它们之间有一个或两个零。这些是我需要用它们分隔的整数填充的零。所有其他零(不在非零整数之间,因此您也可以说连续超过两个的零)保持为零。

x = [[0,0,0,0,0,2,2,2,0,2,2,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,0],
     [0,0,0,0,3,3,0,0,3,3,3,3,0,0,0,0,0,2,2,2,0,2,2,0,0,0,0,0,0,0],
     [0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0]]
df = pd.DataFrame.from_records(x).T
df.columns = ['x', 'y', 'z']

    x   y   z
0   0   0   0
1   0   0   0
2   0   0   0
3   0   0   0
4   0   3   0
5   2   3   0
6   2   0   0
7   2   0   0
8   0   3   0
9   2   3   1
10  2   3   1
11  0   3   1
12  0   0   0
13  0   0   0
14  0   0 …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

4
推荐指数
1
解决办法
85
查看次数

标签 统计

dataframe ×1

pandas ×1

python ×1