import pandas as pd
def pivotTable(weather: pd.DataFrame) -> pd.DataFrame:
weather=weather.pivot(index='month', columns='city', values='temperature')
month_order = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October",
"November", "December"]
weather = weather.reindex(month_order)
# 按月份重新排序,会添加没有的索引
return weather
# pivot 是 Pandas 中用于数据重塑的方法之一,它允许您将 DataFrame 重新排列为新的形式。
# DataFrame.pivot(index=None, columns=None, values=None)
# index: 新 DataFrame 的行索引(也称为行标签)。
# columns: 新 DataFrame 的列索引(也称为列标签)。
# values: 用于填充新 DataFrame 的值的列名。
# reindex 是 Pandas 中用于重新索引(reindex)数据的方法。它允许您按照指定的新索引对现有的 Series 或 DataFrame 进行重新排序和重新标记索引,同时可以处理缺失的索引值。
# DataFrame.reindex(labels=None, index=None, columns=None, axis=None, method=None, copy=True, level=None,
# fill_value=nan, limit=None, tolerance=None)
# labels 或 index: 用于指定新的行索引。
# columns: 用于指定新的列索引。
# axis: 用于指定沿着哪个轴进行重新索引,0 表示按行索引重新索引,1 表示按列索引重新索引。
# method: 用于指定填充缺失值的方法,可选值包括 'pad'、'ffill'、'bfill' 等。
# copy: 如果为 True,则复制数据;如果为 False,则在可能的情况下尽量不复制数据。
# fill_value: 用于填充缺失值的特定值。 limit: 当使用前向或后向填充时,限制连续填充的最大数量。
# tolerance: 当使用前向或后向填充时,指定索引匹配的最大距离。