无法理解在 Python 3 中使用 Pandas 库的代码片段,涉及将表格数据切成块

我正在阅读一份指南,其中我们将表格数据切成 15 个块大小,然后对其进行处理。但我无法理解代码。我无法访问老师,因此我在这里另外询问了互联网没有针对我的问题的具体解决方案。谢谢

http://img3.mukewang.com/6491589300018e7404720773.jpg

这是代码,有人可以解释一下它究竟是如何在循环中获取每个值并计算平均值的吗?

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})



小怪兽爱吃肉
浏览 121回答 1
1回答

慕仙森

我假设不同类型的“Taxon”有 14 个记录长,所以这就是为什么它们以 14 个长块遍历 DataFrame 的原因。(见第一行!chunksize=14) Chunk 是 DataFrame 的一部分,类似于切片和索引:这里一个 chunk 将有 14 行和与原始 DataFrame 一样多的列。第一个块将包含前 14 行,第二个将包含后 14 行,依此类推。接下来它创建一个 pandas Series,你可以把它想象成一个奇特的一维数组,或列表,或 DataFrame 的一维版本。(见pd.Series(...))这个系列实例中会有什么?一本字典(见大括号!)。此字典中的键将是Taxon块包含的类型,值将是Tissue当前块(14 行)中值的平均值:chunk.iloc[0].Taxon选择块的第一行,然后是列中的值Taxonchunk.Tissue.mean()将选择块中的每个组织值(14 个值)然后取它的平均值chunk.iloc[0].Taxon : chunk.Tissue.mean()将结合上述key : value时尚价值观他们对每个块都这样做:每次都向字典添加一个新的键值对(就像列表理解,只有这个是字典理解)。pandas Series 有一个接受字典的构造函数。如果您还有任何其他问题,请随时提出,我会尽力回答。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python