我有一个数据集,其中以不同的方式测量了相同的效果,我想比较这些测量值。我的数据集如下所示:
Study MType ID Insect Mean Sd N
Alla Fecundity 1 Aphid .62 .7628 11
Alla RGR 1 Aphid -32.8 7.76 11
Ando Survival 2 Bee 2.34 .67 8
Ando RGR 2 Bee 4.56 .34 10
Ando Fecundity 2 Bee 5.32 4.3 20
Run Code Online (Sandbox Code Playgroud)
我想按 ID 号组合行,以便保留每行的 MType、Mean、Sd 和 N(尽管需要更改列名,以便可以区分列)。
希望最终它看起来像:
Study ID Insect Fecundity.mean Fecundity.Sd Fecundity.N RGR.mean RGR.Sd...etc
一些困难:
我搞砸了 reshape 和 tidyr ,我无法弄清楚如何用它们中的任何一个来做到这一点。请帮忙!
所以我有一个包含一堆数字和单词的 CSV 文件,我需要将数字截断到小数点后三位,但到目前为止我尝试过的所有内容都不起作用,因为字符串:我收到一条错误消息说'无法将字符串转换为浮点数'。
我使用了这里建议的代码:format to 3 decimal places all decimal numbers in csv file python
并得到了那个错误。
代码看起来像(假设所有缩进都是正确的):
with open('metaanalysis_data.csv', 'rb') as f_input,
open('metaanalysis_datas.csv', 'wb') as f_output:
csv_input = csv.reader(f_input, quotechar="'")
csv_output = csv.writer(f_output)
csv_output.writerow(next(csv_input))
for cols in csv_input:
for i in cols:
for i in xrange(1, 10):
#if i != str:
cols[i] = '{:.3f}'.format(float(cols[i]))
csv_output.writerow(cols)
Run Code Online (Sandbox Code Playgroud)
我尝试添加:
if i is float:
Run Code Online (Sandbox Code Playgroud)
在 'for i in xrange(1, 10)' 之前,我尝试了同样的事情,它清除了我的错误消息,但导致文件根本没有被修改。
请帮忙!谢谢!