我是 Python 的新手,正在完成我的爬行项目。关于几个熊猫模块,我有两个问题。
下面是我的数据表“js”
apple banana
period
2017-01-01 100.00000 22.80130
2017-02-01 94.13681 16.28664
2017-03-01 85.34201 13.68078
2017-04-01 65.79804 9.77198
2017-05-01 43.32247 13.35504
2017-06-01 72.63843 9.44625
2017-07-01 78.82736 9.77198
2017-08-01 84.03908 10.09771
2017-09-01 90.55374 13.35504
2017-10-01 86.64495 9.12052
下面是我将苹果和香蕉值应用于新 DataFrame 的代码。
import pandas as pd
from datetime import datetime, timedelta
dd = pd.date_range('2017-01-01',datetime.now().date() - timedelta(1))
df = pd.DataFrame.set_index(dd) #this part has error
第一步是将我的df索引设置为data_range('2017-01-01'到昨天(每天))。错误消息是说我缺少 1 个必需的位置参数:'keys'。是否可以将索引设置为从“2017-01-01”到昨天的每日日期?
解决之后,我试图将我的“js”数据(例如“apple”和“banana”)作为列,并将每个值都放在 df 索引日期。此示例仅显示“apple”和“banana”列,但在我的真实数据集中,我还有数千个......
请让我知道解决我的问题的有效方法。提前致谢!
------------------EDIT------------------------ 日期索引与@完美配合冷速回答。
dd = pd.date_range('2017-01-01',datetime.now().date() - timedelta(1))
df.index = pd.to_datetime(df.index) # ignore if not needed
df = df.reindex(dd, fill_value=0.0)
一个问题是,如果我有另一个数据框“js2”(下)并将这些数据组合在一个 df(上)中,我相信它不会起作用。有什么建议吗?
kiwi mango
period
2017-01-01 9.03614 100.00000
2017-02-01 5.42168 35.54216
2017-03-01 7.83132 50.00000
2017-04-01 10.24096 55.42168
2017-05-01 10.84337 60.84337
2017-06-01 12.04819 65.66265
2017-07-01 17.46987 34.93975
2017-08-01 9.03614 30.72289
2017-09-01 9.63855 56.02409
2017-10-01 12.65060 45.18072