Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫中的数据分组与转换_Python_Pandas - Fatal编程技术网

Python 熊猫中的数据分组与转换

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',

我对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','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