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

2021-11-29 22:38:21 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

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'

任何帮助/指导都将不胜感激。你知道吗