gpt4 book ai didi

python - 如何在python中选择一行中最小的数字?

转载 作者:行者123 更新时间:2023-11-30 21:56:06 25 4
gpt4 key购买 nike

我的数据每行都有多个数字,如下所示:

gene    numbers
P53 11 11 11 7 13 8 8
ACE 6 5 4 5 3
BRCA 2 2 1

我希望数字列仅包含该行中的最小数字,输出例如:

gene    numbers
P53 8
ACE 3
BRCA 1

我在这里研究了其他答案,但大多数答案都是为了对多行进行排序并找到一列中的最小数字,而不是一行中的最小数字。例如我尝试过使用:

data = pd.read_csv('data.csv', header=0)
data = data.drop(["gene"],1)
df = pd.DataFrame(data)
matrix = df.as_matrix()
result1 = list(map(min, matrix))
result2 = list(map(min, zip(*matrix)))

但是这会产生一个错误:

TypeError: '<' not supported between instances of 'float' and 'str'

任何帮助/指导将不胜感激。

最佳答案

如果只有列numbers由空格分割的数字填充,先split,然后转换为整数并获取min:

df['numbers'] = df['numbers'].apply(lambda x: min(map(int, x.split())))
print (df)
gene numbers
0 P53 7
1 ACE 3
2 BRCA 1

另一个解决方案:

df['numbers'] = df['numbers'].str.split(expand=True).astype(float).min(axis=1).astype(int)
print (df)
gene numbers
0 P53 7
1 ACE 3
2 BRCA 1

关于python - 如何在python中选择一行中最小的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55588805/

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