gpt4 book ai didi

python - 如何获取 Pandas 数据框中行列表的最小值

转载 作者:太空狗 更新时间:2023-10-30 02:55:36 24 4
gpt4 key购买 nike

我有一个 pandas 数据框,其中有一列由列表组成。
目标是找到行中每个列表的最小值(以一种有效的方式)。

例如

import pandas as pd
df = pd.DataFrame(columns=['Lists', 'Min'])
df['Lists'] = [ [1,2,3], [4,5,6], [7,8,9] ]
print(df)

目标是 Min 列:

       Lists  Min
0 [1, 2, 3] 1
1 [4, 5, 6] 4
2 [7, 8, 9] 7

提前谢谢你,
吉尔

最佳答案

您可以使用 apply 分钟:

df['Min'] = df.Lists.apply(lambda x: min(x))
print (df)
Lists Min
0 [1, 2, 3] 1
1 [4, 5, 6] 4
2 [7, 8, 9] 7

谢谢juanpa.arrivillaga想法:

df['Min'] = [min(x) for x in df.Lists.tolist()]
print (df)
Lists Min
0 [1, 2, 3] 1
1 [4, 5, 6] 4
2 [7, 8, 9] 7

时间:

##[300000 rows x 2 columns]
df = pd.concat([df]*100000).reset_index(drop=True)

In [144]: %timeit df['Min1'] = [min(x) for x in df.Lists.values.tolist()]
10 loops, best of 3: 137 ms per loop

In [145]: %timeit df['Min2'] = [min(x) for x in df.Lists.tolist()]
10 loops, best of 3: 142 ms per loop

In [146]: %timeit df['Min3'] = [min(x) for x in df.Lists]
10 loops, best of 3: 139 ms per loop

In [147]: %timeit df['Min4'] = df.Lists.apply(lambda x: min(x))
10 loops, best of 3: 170 ms per loop

关于python - 如何获取 Pandas 数据框中行列表的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42064624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com