python - 如何在 Python DataFrame 中的确定行之前添加空行?

标签 python pandas dataframe concatenation

我在 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/

相关文章:

python - Anaconda:有什么方法可以表明依赖问题是否会阻止 "conda update"获取*绝对*最新版本的模块?

python - 使用 pandas 计算时间序列中每个月的平均值

r - 将 data.frame 列名称传递给函数

返回数据帧中列中特定值的行号

python - 过滤 Pandas 数据框列中的字符串/ float /整数值

python - 在 scikit-learn 和/或 pandas 中重新采样

python - 使用 pyside 截取 iFrame 的屏幕截图

python - 使用 Python sendmail 为 MIME 消息设置返回路径

python - 使用 Python 进行套索回归 : Simple Question

python - 处理/转置 Pandas 数据框