在字典中查找df中最大列的Python方法

问题描述 投票:0回答:3

我有一个字典,其中包含几个相同格式的数据帧。我想在所有数据框中找到特定列的最大值。我可以遍历字典,但我认为必须有一种更Python的方式来做到这一点。

例如,说我有两个数据框:

b = pd.DataFrame({'name': ['Ted', 'Ben', 'Frank', 'Allen'],
     'age': [22,38,26,35]})
g = pd.DataFrame({'name': ['Emily', 'Anna', 'Amy', 'Steph'],
     'age': [18,23,44,21]})

包含在字典中:

dict = {'Boys': b,
     'Girls': g}

然后,我认为类似的事情会起作用,但这不是因为字典不是可下标的,我想我明白,我只是不确定这样做的正确方法:

Max = max(dict.values()['age'])

是否有更好的方法而不循环遍历? (如果不清楚,在此示例中答案应为44)

python pandas dataframe dictionary max
3个回答
2
投票

执行以下操作:

from itertools import chain
result = max(chain.from_iterable(df['age'] for df in d.values()))
print(result)

输出

44

注意,由于您不应该使用内置名称,例如d,因此我将字典重命名为dict


0
投票

据我所知,您正在寻找这样的东西:

max(b.append(g)['age'])
Out[1]:
    44

0
投票
df = pd.concat(d.values())
m = df.max()
print(m)

name    Ted
age      44
dtype: object
© www.soinside.com 2019 - 2024. All rights reserved.