gpt4 book ai didi

python - 在循环之前用数组构造 for 循环

转载 作者:太空宇宙 更新时间:2023-11-04 00:27:43 24 4
gpt4 key购买 nike

在 Python 数据科学手册中给出了以下示例(倒数第二行是我不理解的那一行,如图所示):

import pandas as pd
import numpy as np
import seaborn as sns
sns.set()

#Downloaded from: https://raw.githubusercontent.com/jakevdp/data-CDCbirths/master/births.csv

births = pd.read_csv('births.csv')
births['decades'] = (births['year'] // 10) * 10

# Rhobust sigma clipping operation - ignore this
quartiles = np.percentile(births['births'], [25, 50, 75])
mu = quartiles[1]
sig = 0.74 * (quartiles[2] - quartiles[0])
births = births.query('(births > @mu - 5 * @sig) & (births < @mu + 5 * @sig)')

births['day'] = births['day'].astype(int)

births.index = pd.to_datetime(10000 * births.year +
100 * births.month +
births.day, format='%Y%m%d')

births_by_date = births.pivot_table('births', [births.index.month, births.index.day])

#Help on the loop below
births_by_date.index = [pd.datetime(2012, month, day)
for (month, day) in births_by_date.index]

print(births_by_date.index)

我不明白 for 循环中 births_by_date.index 的构造。我知道循环正在应用于数据透视表,但我从未见过循环之前的输出数组看起来像什么。

有人可以解释一下这是如何工作的,或者指导我进行适当的解释吗?

我试过: How do I save results of a "for" loop into a single variable?

许多教程,例如这个:https://www.learnpython.org/en/Loops

各种其他问题,但我找不到类似的问题。

最佳答案

它被称为“列表理解”,您可以阅读有关 here 的内容在其他来源中。对理解进行评估,然后将其分配回数据框的索引,基本上是为您的日期指定一年。它相当于:

some_list = []
for month, day in births_by_date.index:
some_list.append(pd.datetime(2012, month, day))

births_by_date.index = some_list

关于python - 在循环之前用数组构造 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46891432/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com