Python 最大系列';熊猫是什么意思
我已经搜索了一段时间了,除了硬编码外,我不知道如何用其他方法来实现。 在csv文件中,我必须获得三个系列平均值的最大值,然后返回该系列的名称,这是给我带来麻烦的部分Python 最大系列';熊猫是什么意思,python,pandas,header,max,mean,Python,Pandas,Header,Max,Mean,我已经搜索了一段时间了,除了硬编码外,我不知道如何用其他方法来实现。 在csv文件中,我必须获得三个系列平均值的最大值,然后返回该系列的名称,这是给我带来麻烦的部分 comp = max(DataTD['Cycle (seconds)'].mean(), DataTD['Run (seconds)'].mean(), DataTD['Swim (seconds)'].mean()) if comp == DataTD['Cycle (seconds)'].mean(): print(Da
comp = max(DataTD['Cycle (seconds)'].mean(), DataTD['Run (seconds)'].mean(), DataTD['Swim (seconds)'].mean())
if comp == DataTD['Cycle (seconds)'].mean():
print(DataTD['Cycle (seconds)'].name)
elif comp == DataTD['Run (seconds)'].mean():
print(DataTD['Run (seconds)'].name)
elif comp == DataTD['Swim (seconds)'].mean():
print(DataTD['Swim (seconds)'].name)
类似的东西应该可以工作(还没有测试):
类似的东西应该可以工作(还没有测试):
您可以获得最大列名,然后根据该名称获取平均值
cols = ['Cycle (seconds)', 'Run (seconds)', 'Swim (seconds)']
max_col = max(cols, key=lambda col: DataTD[col].mean())
print('Column name: ' + max_col)
print('Mean: ' + str(DataTD[max_col].mean()))
您可以获得最大列名,然后根据该名称获取平均值
cols = ['Cycle (seconds)', 'Run (seconds)', 'Swim (seconds)']
max_col = max(cols, key=lambda col: DataTD[col].mean())
print('Column name: ' + max_col)
print('Mean: ' + str(DataTD[max_col].mean()))
以样本数据为例
cols = ['Cycle (seconds)', 'Run (seconds)', 'Swim (seconds)']
np.random.seed([3, 1415])
DataTD = pd.DataFrame(
np.random.randint(10, size=(10, 3)),
list('ABCDEFGHIJ'), cols
)
Cycle (seconds) Run (seconds) Swim (seconds)
A 0 2 7
B 3 8 7
C 0 6 8
D 6 0 2
E 0 4 9
F 7 3 2
G 4 3 3
H 6 7 7
I 4 5 3
J 7 5 9
IIUC: 使用
mean
和参数axis=1
以及idxmax
查找最大值的索引
DataTD.loc[[DataTD[cols].mean(1).idxmax()]]
Cycle (seconds) Run (seconds) Swim (seconds)
J 7 5 9
否则,请尝试
means = DataTD.mean()
means[[means.idxmax()]]
Swim (seconds) 5.7
dtype: float64
以样本数据为例
cols = ['Cycle (seconds)', 'Run (seconds)', 'Swim (seconds)']
np.random.seed([3, 1415])
DataTD = pd.DataFrame(
np.random.randint(10, size=(10, 3)),
list('ABCDEFGHIJ'), cols
)
Cycle (seconds) Run (seconds) Swim (seconds)
A 0 2 7
B 3 8 7
C 0 6 8
D 6 0 2
E 0 4 9
F 7 3 2
G 4 3 3
H 6 7 7
I 4 5 3
J 7 5 9
IIUC: 使用
mean
和参数axis=1
以及idxmax
查找最大值的索引
DataTD.loc[[DataTD[cols].mean(1).idxmax()]]
Cycle (seconds) Run (seconds) Swim (seconds)
J 7 5 9
否则,请尝试
means = DataTD.mean()
means[[means.idxmax()]]
Swim (seconds) 5.7
dtype: float64
来自Pir的数据
DataTD.loc[DataTD[cols].mean(1).sort_values().iloc[[-1]].index]
Out[625]:
Cycle (seconds) Run (seconds) Swim (seconds)
J 7 5 9
来自Pir的数据
DataTD.loc[DataTD[cols].mean(1).sort_values().iloc[[-1]].index]
Out[625]:
Cycle (seconds) Run (seconds) Swim (seconds)
J 7 5 9
我认为需要将键定义为如下函数:
key=lambda col:DataTD[col].mean()
。另外,col
应该是max\u col
。我认为需要将键定义为如下函数:key=lambda col:DataTD[col].mean()。而且col
应该是max\u col
。