从绘图中提取所需数据
extracting required data from a plot
如果我分别在 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)
如果我分别在 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)