Amy*_*mus 11 python dataframe pandas
在R中,当向数据帧添加不等长的新数据时,值会重复以填充数据帧:
df <- data.frame(first=c(1,2,3,4,5,6))
df$second <- c(1,2,3)
Run Code Online (Sandbox Code Playgroud)
收益:
first second
1 1 1
2 2 2
3 3 3
4 4 1
5 5 2
6 6 3
Run Code Online (Sandbox Code Playgroud)
但是,大熊猫需要相同的索引长度.
我如何在R中"填写"重复数据,就像我在R中一样?
Meo*_*eow 10
itertools的循环方法适用于重复常见模式.
from itertools import cycle
seq = cycle([1, 2, 3])
df['Seq'] = [next(seq) for count in range(df.shape[0])]
Run Code Online (Sandbox Code Playgroud)
似乎没有优雅的方式.这是我刚才想到的解决方法.基本上创建一个比原始数据框大的重复列表,然后将它们连接起来.
import pandas
df = pandas.DataFrame(range(100), columns=['first'])
repeat_arr = [1, 2, 3]
df = df.join(pandas.DataFrame(repeat_arr * (len(df)/len(repeat_arr)+1),
columns=['second']))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8466 次 |
最近记录: |