我在 python 中处理一个巨大的数据帧,有时我需要在数据帧的确定位置添加一个空行或几行。对于这个问题,我创建了一个小数据框 df 以显示我想要实现的目标。
cars = {'Brand': ['Honda Civic','Toyota Corolla','Ford Focus','Audi A4'],
'Price': [22000,25000,27000,35000]
}
df = pd.DataFrame(cars, columns = ['Brand', 'Price'])
如果行值为 27000,我想在它之前添加一个空行。我可以在 Concat 之后插入行,但我真的想不出在之前添加它的方法。
最佳答案
您可以为 groupby 创建一个辅助 cumsum 列,然后仅为第一组附加一个空白行,然后连接:
out = pd.concat((g.append(pd.Series(),ignore_index=True) if i==0 else g
for i, g in df.groupby(df['Price'].eq(27000).cumsum())))
print(out)
Brand Price
0 Honda Civic 22000.0
1 Toyota Corolla 25000.0
2 NaN NaN
2 Ford Focus 27000.0
3 Audi A4 35000.0
关于python - 如何在 Python DataFrame 中的确定行之前添加空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67062516/