gpt4 book ai didi

python - 使用 Pandas 创建大型数据框

转载 作者:太空宇宙 更新时间:2023-11-03 19:42:47 26 4
gpt4 key购买 nike

df = pd.DataFrame([{'Instrument':'AAA', 'Date':'2012-04-18', 'Time_Bucket':180},
{'Instrument':'AAA', 'Date':'2012-04-18', 'Time_Bucket':100},
{'Instrument':'AAA', 'Date':'2012-04-18', 'Time_Bucket':67},
{'Instrument':'AAA', 'Date':'2012-04-18', 'Time_Bucket':33},
{'Instrument':'AAA', 'Date':'2012-04-18', 'Time_Bucket':1},
{'Instrument':'AAA', 'Date':'2012-04-19', 'Time_Bucket':175},
{'Instrument':'AAA', 'Date':'2012-04-19', 'Time_Bucket':110},
{'Instrument':'AAA', 'Date':'2012-04-19', 'Time_Bucket':30},
{'Instrument':'AAA', 'Date':'2012-04-19', 'Time_Bucket':1},
{'Instrument':'BBB', 'Date':'2012-04-18', 'Time_Bucket':180},
{'Instrument':'BBB', 'Date':'2012-04-18', 'Time_Bucket':150},
{'Instrument':'BBB', 'Date':'2012-04-18', 'Time_Bucket':10}])

我有上面的数据框。我的目标是创建一个大型数据框,其中包含不同日期的所有仪器,Time_Bucket 范围从 180 到 1。意思是,如果我有 100 个日期为 2012-04-18、2012-04-19、2012-05- 的仪器17, 2012-05-18, 2012-08-15, 2012-08-16,那么我需要创建总共 100*6*180 行,每个单元格都按日期升序标记,但 Time_Bucket 的降序排列。然后,我将现有的 DataFrame 与这个新创建的 DataFrame 合并,并向前填充以进行一些数据分析。我只能编写以下代码,但它不起作用:

df = pd.DataFrame({ 'Instrument' : 'AAA', 'BBB', 'CCC'}, 
{'Date': '2012-04-18', '2012-04-19', '2012-05-17', '2012-05-18', '2012-08-15', '2012-08-16'},
{'Time_Bucket': range(180, N-1 ,1))

你能帮忙吗?谢谢。

最佳答案

使用itertools.product并传递给 DataFrame 构造函数:

i = ['AAA', 'BBB', 'CCC']
d = ['2012-04-18', '2012-04-19', '2012-05-17', '2012-05-18', '2012-08-15', '2012-08-16']
r = range(180, 0 , -1)
<小时/>
from  itertools import product
df = pd.DataFrame(list(product(i, d, r)), columns=['Instrument','Date','Time_Bucket'])
print (df)
Instrument Date Time_Bucket
0 AAA 2012-04-18 180
1 AAA 2012-04-18 179
2 AAA 2012-04-18 178
3 AAA 2012-04-18 177
4 AAA 2012-04-18 176
... ... ...
3235 CCC 2012-08-16 5
3236 CCC 2012-08-16 4
3237 CCC 2012-08-16 3
3238 CCC 2012-08-16 2
3239 CCC 2012-08-16 1

[3240 rows x 3 columns]

关于python - 使用 Pandas 创建大型数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60333456/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com