熊猫打印在带有 f 字符串的列中找到的最大值

如果我有一些虚构的数据...如何只打印在名为 的列中找到的最大值的索引(日期和时间戳)Temperature?


import numpy as np

import pandas as pd

np.random.seed(11)


rows,cols = 50000,2

data = np.random.rand(rows,cols) 

tidx = pd.date_range('2019-01-01', periods=rows, freq='H') 

df = pd.DataFrame(data, columns=['Temperature','Value'], index=tidx)


maxy = df.Temperature.max()

maxDate = df.loc[df['Temperature'].idxmax()]

如果我打印maxDate有很多不需要的信息..


print(maxy)

print(maxDate)

这输出:


0.9999949674183947

Temperature    0.999995

Value          0.518413

Name: 2023-01-06 02:00:00, dtype: float64

最终我希望创建一个f只打印的字符串maximum temperature recorded in the dataset is 0.999995 found on 2023-01-06 02:00:00,没有额外的信息,例如Name:和, dtype: float64和Value          0.518413列......感谢任何提示和技巧


繁华开满天机
浏览 91回答 2
2回答

呼唤远方

你的 f 字符串可能是:f'maximum temperature recoded in the dataset is {maxy} found on {maxDate.name}'或者没有maxy:f'maximum temperature recoded in the dataset is {maxDate.Temperature} found on {maxDate.name}'输出:'maximum temperature recoded in the dataset is 0.9999949674183947 found on 2023-01-06 02:00:00'

慕斯王

最高温度可以有超过 1 个条目。maxy = df.Temperature.max()max_dates = df[df['Temperature'] == maxy].index.astype(str).to_list()print(f'Max temperature recorded in dataset is {maxy} on {",".join(max_dates)}')输出:Max temperature recorded in dataset is 0.9999949674183947 on 2023-01-06 02:00:00
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python