Python 熊猫中的数据分组与转换
我对python非常陌生,我想使用pandas转换数据帧。Python 熊猫中的数据分组与转换,python,pandas,Python,Pandas,我对python非常陌生,我想使用pandas转换数据帧。 原始数据帧为: A1,B1,C1,M A1,B1,C1,HM A2,B2,C2,M A2,B2,C2,M A3,B3,C3, 目标是: A1,B1,C1,HM A2,B2,C2,M A3,B3,C3, 我需要删除重复项并根据值A、B、C计算最后一个字段(HM/M)。我想知道如何实现这种转换。IIUC,您可以对值进行排序,只需选择每个组的first(),因为M是在HM之后排序的 df.sort_values(['A','B','C',
原始数据帧为:
A1,B1,C1,M
A1,B1,C1,HM
A2,B2,C2,M
A2,B2,C2,M
A3,B3,C3,
目标是:A1,B1,C1,HM
A2,B2,C2,M
A3,B3,C3,
我需要删除重复项并根据值A、B、C计算最后一个字段(HM/M)。我想知道如何实现这种转换。IIUC,您可以对值进行排序,只需选择每个
组的first()
,因为M是在HM之后排序的
df.sort_values(['A','B','C','H']).groupby(['A','B','C']).first()
您如何决定将一置于第一行和第二行之间?每当一行中有“HM”时,最后一行将取该值。“HM”比“M”强。行是一个字符串(例如“A1,B1,C1,HM”
)或单元格,每个单元格中都有一个字符串(例如A1
|B1
|C1
HM
)?行包含多个不同类型的单元格(字符串、浮点、日期时间)
A B C H
0 A1 B1 C1 HM
1 A2 B2 C2 M
2 A3 B3 C3 NaN