如何循環遍歷 csv 文件中的特定 ID?

托馬斯

我有一個 csv 文件:

ids    year    mean
1      2000    200
2      2000    199
3      2000    193
4      2000    189
1      2001    205
2      2001    197
3      2001    197
4      2001    196
.
.
.
4      2016    212

我想遍歷每個人id來計算他們每個人的人係數並將他們放在一個單獨的列表中。我怎樣才能做到這一點?

我嘗試了一些永遠無法奏效的事情:

import pandas as pd
import numpy as np
import scipy.stats as stats

path = 'C:/path/'
#%%
df = pd.read_csv(path + 'mycsvfile.csv')

res = []
for i in range(df['id'].min(), df['id'].max()):
    x = stats.pearsonr(df['year'], df['mean'])
    res.append(x)

df = pd.DataFrame(res)
大威

請注意,在

for i in range(df['id'].min(), df['id'].max()):
    x = stats.pearsonr(df['year'], df['mean'])
    res.append(x)

你有i,它從來沒有用在 for 循環體中,所以你實際上一次又一次地計算相同的東西。您需要的是 groupby,請考慮以下簡單示例

import pandas as pd
df = pd.DataFrame({'id':[1,1,2,2,3,3],'x':[1,2,3,4,5,6],'y':[1,2,4,3,5,6]})
out = df.groupby('id').apply(lambda data:stats.pearsonr(data['x'],data['y']))
print(out)

輸出

id
1     (1.0, 1.0)
2    (-1.0, 1.0)
3     (1.0, 1.0)
dtype: object

說明:groupbyid,然後對每組應用 Pearson 的 R 計算。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何循環遍歷 Word JS API 中的 RangeCollection?

如何在 Java 中的一個循環中遍歷 2 個不同的數組

如何在嵌套的 for 循環中遍歷列表和字典

循環遍歷列表以提取特定模式

使用 goroutines 無限循環遍歷文件

Python 同時循環遍歷 2 個文件

循環遍歷列表中的嵌套字典

循環遍歷 Python 中的列表列表

如何从CSV文件中获取特定列的索引ID

#each 循環中的 #reduce 循環不會遍歷整個數組

如何從嵌套數組中刪除數組,循環遍歷數組的其餘部分。然後循環遍歷嵌套數組的 1 個值,全部在 vanilla js 中

循環遍歷python中的數據框以選擇特定行

循環遍歷目錄並對 unix 中具有特定權限的文件執行操作

循環遍歷 json 文件中的每一行並過濾結果

如何循環遍歷 txt 文件以查找各種字符串並在批處理腳本中進行計數

循環遍歷文件並發送超過預期的命令

循環遍歷 Excel Power Query 中的 Json 列表以檢索記錄

循環遍歷列表作為 R 中 filter() 函數的輸入

Javascript 對象 - 檢查並循環遍歷對像中的數組

for 循環是否遍歷 Lua 和 Love2d 中的空表?

使用 break 並在 for 循環中繼續遍歷字典

循環遍歷列表以獲取python中給定範圍的最大總和

如何從文件循環遍歷多行數組並將每一行分配給多個參數?

如何在 Kotlin 的循環中逐步遍歷固定範圍,其中每次迭代的步長值都會發生變化

lambda 表達式 v. for 循環遍歷 Pandas 數據幀中的特定列

如果滿足特定條件,則循環遍歷範圍並刪除行

循環遍歷數組並在 Javascript/Nodejs 中輸出模板字符串/文字

Python Pandas - 在刪除異常值的同時更快地遍歷數據中的類別(無 For 循環)

如何在 R 環境中循環編號數據幀。我必須遍歷 R 中的 22 個(可能是 22*6)個數據幀