我有一个 tsv 文件,其中包含一个已使用read_csv()
.
数组的 dtype 显示为dtype: object
。如何读取它并将其作为数组访问?
例如:
df=
id values
1 [0,1,0,3,5]
2 [0,0,2,3,4]
3 [1,1,0,2,3]
4 [2,4,0,3,5]
5 [3,5,0,3,5]
目前我正在将其拆开如下:
for index,row in df.iterrows():
string = row['col2']
string=string.replace('[',"")
string=string.replace(']',"")
v1,v2,v3,v4,v5=string.split(",")
v1=int(v1)
v2=int(v2)
v3=int(v3)
v4=int(v4)
v5=int(v5)
有什么替代方法吗?
我想这样做是因为我想在数据框中创建另一列取所有值的平均值。
添加其他详细信息:col2
我的 tsv 文件如下所示:
id values
1 [0,1,0,3,5]
2 [0,0,2,3,4]
3 [1,1,0,2,3]
4 [2,4,0,3,5]
5 [3,5,0,3,5]
我正在阅读 tsv 文件如下: df=pd.read_csv('tsv_file_name.tsv',sep='\t', header=0)
您可以使用json
来简化您的解析:
import json
df['col2'] = df.col2.apply(lambda t: json.loads(t))
编辑:按照您的评论,获得平均值很容易:
# using numpy
df['col2_mean'] df.col2.apply(lambda t: np.array(t).mean())
# by hand
df['col2_mean'] df.col2.apply(lambda t: sum(t)/len(t))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句