【问题标题】:Adding a blank row after a specific data in a dataframe column在数据框列中的特定数据后添加空白行
【发布时间】:2021-09-14 13:36:16
【问题描述】:

这个问题已经被问到了excel。 How to automatically insert a blank row after a group of data。我想知道在 pandas 数据框中是否有一个功能可以做同样的事情。

【问题讨论】:

  • 在这个网站上搜索如何添加空行会返回几个很好的答案。您是否尝试过先寻找答案?

标签: python pandas dataframe


【解决方案1】:

可能还有其他(更快?)方法可以做到这一点。这里是一个尝试。

首先创建一个示例数据框以用于此示例。我们假设索引定义了需要拆分的组:

users = {'user_id': ['A','A','A','A', 'B','B','B'],
     'status': ['S1', 'S2', 'S1', 'S3', 'S1', 'S2', 'S1'],
     'value': [100, 30, 100, 20, 50, 30, 60 ],
    }

df1 = pd.DataFrame(users, columns = ['user_id', 'status', 'value'])
df1.set_index('user_id', drop=True, inplace=True)

这里是输出:

user_id status value
A S1 100
A S2 30
A S1 100
A S3 20
B S1 50
B S2 30
B S1 60

我们创建一个带有空行的新数据框,索引的每个唯一元素一个:

df2 = pd.DataFrame(index=df1.index.drop_duplicates(keep='first'))

追加新行并对索引进行排序:

df_merged = df1.append(df2)
df_merged.sort_index(inplace=True)

最终输出如下:

user_id status value
A S1 100
A S2 30
A S1 100
A S3 20
A NaN NaN
B S1 50
B S2 30
B S1 60
B NaN NaN

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-09
    • 1970-01-01
    • 2020-03-30
    • 2018-10-22
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 2023-01-27
    相关资源
    最近更新 更多