python - 从绘图中提取所需数据
问题描述
如果我分别在 x 和 y 轴上绘制以下年度人口数据,我如何从图中获取 10 年的每日数据,就像我希望能够从使用创建的曲线中获取每天的人口这个数据
那可能吗?
2020 713,000
2019 703,000
2018 694,000
2017 684,000
2016 674,000
2015 664,000
2014 655,000
2013 645,000
2012 636,000
2011 627,000
解决方案
import numpy as np
from datetime import datetime,timedelta
import pandas as pd
# make your data a frame
df = pd.DataFrame([[2020, 713000],
[ 2019, 703000],
[ 2018, 694000],
[ 2017, 684000],
[ 2016, 674000],
[ 2015, 664000],
[ 2014, 655000],
[ 2013, 645000],
[ 2012, 636000],
[ 2011, 627000]], columns=['DateTime','pop'])
# make DateTime column an datetime object
df['DateTime'] = df['DateTime'].apply(lambda x: datetime(x,1,1))
# create a time range for each day in your period
time_range = np.arange(datetime(2011, 1,1), datetime(2021,1,1), timedelta(days=1))
# make time_range a frame
af = pd.DataFrame(time_range, columns=['DateTime'])
# merge both together (left join on column DateTime) and interpolate the gaps
df = af.merge(df, on='DateTime', how='left').interpolate()
print(df)
推荐阅读
- image-processing - Javafx 对图像的像素应用过滤器
- python - while 循环中的 if 语句未从 if 语句中读取最后一个输出
- python - 传递给 matplotlib 时按升序排序的列表
- python - RuntimeWarning:您正在以超级用户权限运行工作程序:绝对不推荐这样做
- c++ - 使用 Eigen 在 C++ 中的不同参考中表达向量和方向
- python - 解决错误:赋值前引用了局部变量“计数器”
- android - 使用 xml 和约束以编程方式添加自定义按钮
- javascript - 成功登录时更改窗口位置
- ios - 如何防止 navigationBarTitle 占满全角?
- php - 是否有一种编程方式来区分 bash 脚本是由用户执行还是通过 PHP 中的 shell_exec 执行?