首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何按ID分组和按datetimestamp排序,并在pandas中创建一个包含新行和旧值的表

在pandas中,可以使用groupby()函数按照ID分组,并使用sort_values()函数按照datetimestamp排序。然后,可以使用append()函数创建包含新行和旧值的表。

首先,假设我们有一个名为df的DataFrame,其中包含ID、datetimestamp和其他列。

代码语言:txt
复制
import pandas as pd

# 创建示例DataFrame
data = {'ID': ['A', 'A', 'B', 'B', 'C', 'C'],
        'datetimestamp': ['2022-01-01 10:00:00', '2022-01-01 11:00:00', '2022-01-01 12:00:00',
                          '2022-01-01 13:00:00', '2022-01-01 14:00:00', '2022-01-01 15:00:00'],
        'value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)

# 按ID分组并按datetimestamp排序
df_sorted = df.groupby('ID').apply(lambda x: x.sort_values('datetimestamp')).reset_index(drop=True)

# 创建包含新行和旧值的表
new_row = {'ID': 'D', 'datetimestamp': '2022-01-01 16:00:00', 'value': 7}
df_new = df_sorted.append(new_row, ignore_index=True)

在上述代码中,首先使用groupby('ID')函数按照ID分组,然后使用lambda函数和sort_values('datetimestamp')函数按照datetimestamp排序。最后,使用reset_index(drop=True)函数重置索引。

然后,通过创建一个字典new_row,包含新行的数据,使用append()函数将新行添加到df_sorted中,ignore_index=True表示重置索引。

通过以上步骤,我们创建了一个新的DataFrame df_new,其中包含了按ID分组和按datetimestamp排序后的表,并且添加了一个新行。

这是一个简单的实现示例,您可以根据实际需求进行修改和扩展。有关更详细的pandas文档,请参阅官方文档:https://pandas.pydata.org/docs/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券