我有一个包含数千列的Excel文件,格式如下:
<表类>
成员没有。
X
Y Z tbody><<tr>1000 25 60 -30 -69 38 68 45 2 43 1001 24 55 79 4 7 89 78 51 2 1002 45 -55 149 94 77 -985 2 559 56 表类>
下面的解决方案将使用Python获得您想要的输出。
我先将ffill
填入您的成员号中的空白列(axis=0
表示逐行)。然后使用abs
将数据帧值转换为+ve。最后,使用pandas.DataFrame.agg
,我获得了数据框中所有列的max
值。
假设您的数据帧名为data
:
import pandas as pd
data['Member No.'] = data['Member No.'].ffill(axis=0).astype(int)
df = abs(df)
res = (data.groupby('Member No.').apply(lambda x: x.max())).drop('Member No.',axis=1).reset_index()
它会打印你:
Member No. X Y Z A B C
0 1000 69 60 68 60 74 69
1 1001 78 55 89 78 92 87
2 1002 94 559 985 985 971 976
请注意,我在示例数据中添加了额外的列,以确保所有列都将返回它们的max()
值。