在下面的代码中,min()
向我显示了一个错误,但当我删除min()
时,代码工作正常。
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']))
数据:
<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
有人知道原因是什么吗?
发布于 2019-04-15 02:09:20
看起来您正在尝试获取一个元素级别的最小值。因此,请改用numpy.minimum()
。
>>> 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
希望这能有所帮助!
https://stackoverflow.com/questions/55673566
复制相似问题