首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在pandas中添加新列,python min函数显示错误

在pandas中添加新列,python min函数显示错误
EN

Stack Overflow用户
提问于 2019-04-14 16:55:36
回答 1查看 73关注 0票数 -1

在下面的代码中,min()向我显示了一个错误,但当我删除min()时,代码工作正常。

代码语言:javascript
复制
df = pd.read_csv('test.data',sep="\t",header=0)
df1=df[['clust_no','chr_gene','tss_no','score']].copy()
#Value error due to the min() function. otherwise code is working
df1['distance'] = min(abs(df['sTSS_gene']-df['eTSS_tf']),abs(df['sTSS_gene']-df['sTSS_tf']))

数据:

代码语言:javascript
复制
<Tab Separated dataset>
chr_gene    sTSS_gene   eTSS_gene   gene    tss_no  clust_no    chr_tf  sTSS_tf eTSS_tf score   tf
chr1    28586028    28609002    SESN2   1   17  chr1    28586689    28587038    20.6444 p53
chr1    39351477    39395185    RHBDL2  2   35  chr1    39367275    39367475    7.74752 p53
chr1    39351478    39407502    RHBDL2  1   35  chr1    39367275    39367475    7.74752 p53

有人知道原因是什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-15 02:09:20

看起来您正在尝试获取一个元素级别的最小值。因此,请改用numpy.minimum()

代码语言:javascript
复制
>>> import numpy as np
>>> df1['distance'] = np.minimum(abs(df['sTSS_gene']-df['eTSS_tf']),abs(df['sTSS_gene']-df['sTSS_tf']))
>>> df1
   clust_no chr_gene  tss_no     score  distance
0        17     chr1       1  20.64440       661
1        35     chr1       2   7.74752     15798
2        35     chr1       1   7.74752     15797

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55673566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档