Gau*_*sal 4 python numpy dataframe pandas
我正在尝试创建一个 Pandas DataFrame,其中一列多次使用 numpy repeat 函数。这是我在 R 中使用c和执行此操作的方法,rep并且它有效:
df <- data.frame(
date = seq.Date(as.Date('2018-12-01'), as.Date('2019-12-01'), by='month'),
value = c(rep(0.08, 7), rep(0.06, 6)),
)
Run Code Online (Sandbox Code Playgroud)
这是我在熊猫中尝试的内容,但它引发了错误arrays must all be same length:
import numpy as np
import pandas as pd
df= pd.DataFrame({
'date': pd.date_range('2018-12-01', '2019-12-01', freq='MS'),
'value': [np.repeat(0.08, 7), np.repeat(0.06, 6)]
})
Run Code Online (Sandbox Code Playgroud)
我怎么能在熊猫中做到这一点?
这是你需要的吗?append
df= pd.DataFrame({
'date': pd.date_range('2018-12-01', '2019-12-01', freq='MS'),
'value': np.append(np.repeat(0.08, 7), np.repeat(0.06, 6))
})
df
Out[615]:
date value
0 2018-12-01 0.08
1 2019-01-01 0.08
2 2019-02-01 0.08
3 2019-03-01 0.08
4 2019-04-01 0.08
5 2019-05-01 0.08
6 2019-06-01 0.08
7 2019-07-01 0.06
8 2019-08-01 0.06
9 2019-09-01 0.06
10 2019-10-01 0.06
11 2019-11-01 0.06
12 2019-12-01 0.06
Run Code Online (Sandbox Code Playgroud)
另外,R中的仅供参考
rep(c(0.08,0.06), c(7,6))
Run Code Online (Sandbox Code Playgroud)
np.repeat可以为repeats参数采用类似数组的东西。
df = pd.DataFrame({
'date': pd.date_range('2018-12-01', '2019-12-01', freq='MS'),
'value': np.repeat([.08, .06], [7, 6])
})
Run Code Online (Sandbox Code Playgroud)