我正在閱讀一份指南,其中我們將表格數據切成 15 個塊大小,然后對其進行處理。但我無法理解代碼。我無法訪問老師,因此我在這里另外詢問了互聯網沒有針對我的問題的具體解決方案。謝謝這是代碼,有人可以解釋一下它究竟是如何在循環中獲取每個值并計算平均值的嗎?data_chunks = pd.read_csv("../data/microbiome.csv", chunksize=14)
mean_tissue = pd.Series({chunk.iloc[0].Taxon:chunk.Tissue.mean() for chunk in data_chunks})
1 回答

慕仙森
TA貢獻1827條經驗 獲得超8個贊
我假設不同類型的“Taxon”有 14 個記錄長,所以這就是為什么它們以 14 個長塊遍歷 DataFrame 的原因。(見第一行!chunksize=14
) Chunk 是 DataFrame 的一部分,類似于切片和索引:這里一個 chunk 將有 14 行和與原始 DataFrame 一樣多的列。第一個塊將包含前 14 行,第二個將包含后 14 行,依此類推。
接下來它創建一個 pandas?Series,你可以把它想象成一個奇特的一維數組,或列表,或 DataFrame 的一維版本。(見pd.Series(...)
)
這個系列實例中會有什么?一本字典(見大括號?。4俗值渲械逆I將是Taxon
塊包含的類型,值將是Tissue
當前塊(14 行)中值的平均值:
chunk.iloc[0].Taxon
選擇塊的第一行,然后是列中的值Taxon
chunk.Tissue.mean()
將選擇塊中的每個組織值(14 個值)然后取它的平均值chunk.iloc[0].Taxon : chunk.Tissue.mean()
將結合上述key : value
時尚價值觀
他們對每個塊都這樣做:每次都向字典添加一個新的鍵值對(就像列表理解,只有這個是字典理解)。pandas Series 有一個接受字典的構造函數。
如果您還有任何其他問題,請隨時提出,我會盡力回答。
添加回答
舉報
0/150
提交
取消