[英]Formatting columns in a pandas dataframe Python
下面的代碼將mean,median,max,min
作為熊貓表。 我只想打印沒有日期的表格的Average
部分。 我如何才能做到這一點並獲得預期的輸出?
import numpy as np
import pandas as pd
from pandas import DataFrame
date_list = ['2019-09-01 00:00:00', '2019-10-01 00:00:00', '2019-11-01 00:00:00',
'2019-12-01 00:00:00', '2020-01-01 00:00:00', '2020-02-01 00:00:00',
'2020-03-01 00:00:00', '2020-04-01 00:00:00', '2020-05-01 00:00:00',
'2020-06-01 00:00:00', '2020-07-01 00:00:00', '2020-08-01 00:00:00',
'2020-09-01 00:00:00','2020-10-01 00:00:00', '2020-11-01 00:00:00',
'2020-12-01 00:00:00','2021-01-01 00:00:00','2021-02-01 00:00:00', '2021-03-01 00:00:00',
'2021-04-01 00:00:00','2021-05-01 00:00:00', '2021-06-01 00:00:00',
'2021-07-01 00:00:00']
monthly_values = np.array([ 15., 39.6, 0.2, 34.3, 19.6, 26.8, 15.7, 26., 12.6, 15.5, 18.6, 2.3, 6.5,
2.5, 12.2, 11.6, 93.9, 25.5, 26.5, -16.5, -1.4, -1.8, 5.])
data = pd.DataFrame({"Date": date_list, "Averages": monthly_values})
data["Date"] = pd.to_datetime(data["Date"])
out=(data.groupby(data["Date"].dt.year)
.agg(['mean','median','max','min'])
.droplevel(0,1)
.rename(columns=lambda x:'Average' if x=='mean' else x.title()))
print(out['Average'])
輸出:
Date
2019 22.275000
2020 14.158333
2021 18.742857
預期輸出:
22.275000
14.158333
18.742857
您有兩列名為“Average”,因此print(out["Average"])
打印它們。 只打印第二個值:
print(*out["Average"].iloc[:, 1], sep="\n")
印刷:
22.275
14.158333333333333
18.742857142857144
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.