Python 使用日期时间索引和列中的随机值创建熊猫数据框

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/42941310/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-19 22:16:54  来源:igfitidea点击:

Creating pandas dataframe with datetime index and random values in column

pythonpandas

提问by user308827

How do I create a pandas dataframe with datetime as index, and random values for a column. Currently, I have this:

如何创建一个以日期时间为索引的 Pandas 数据框,以及一列的随机值。目前,我有这个:

from datetime import datetime, timedelta

date_today = datetime.now()
date_end = date_today + timedelta(7)

df = pd.DataFrame(columns=['test'])

How do I proceed from here?

我如何从这里开始?

回答by Joe T. Boka

You can try this:

你可以试试这个:

import pandas as pd
import numpy as np
from datetime import datetime, timedelta

date_today = datetime.now()
days = pd.date_range(date_today, date_today + timedelta(7), freq='D')

np.random.seed(seed=1111)
data = np.random.randint(1, high=100, size=len(days))
df = pd.DataFrame({'test': days, 'col2': data})
df = df.set_index('test')
print(df)


test                            
2017-03-22 10:07:41.914019    29
2017-03-23 10:07:41.914019    56
2017-03-24 10:07:41.914019    82
2017-03-25 10:07:41.914019    13
2017-03-26 10:07:41.914019    35
2017-03-27 10:07:41.914019    53
2017-03-28 10:07:41.914019    25
2017-03-29 10:07:41.914019    23

回答by Abshakiba

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0,30,size=10),
                  columns=["Random"],
                  index=pd.date_range("20180101", periods=10))

回答by Shane Kao

My code for your reference

我的代码供您参考

from datetime import datetime, timedelta
import pandas as pd
import numpy as np

date_today = datetime.now()
ndays = 7
df = pd.DataFrame({'date': [date_today + timedelta(days=x) for x in range(ndays)], 
                   'test': pd.Series(np.random.randn(ndays))})
df = df.set_index('date')