【发布时间】:2019-07-29 13:09:41
【问题描述】:
我想为我的数据帧生成某种循环。下面示例中的一个循环的长度为 4。最后一列是应该是什么样子,其余的是代表我的尝试。
我当前的代码如下所示:
import pandas as pd
import numpy as np
l = list(np.linspace(0,10,12))
data = [
('time',l),
('A',[0,5,0.6,-4.8,-0.3,4.9,0.2,-4.7,0.5,5,0.1,-4.6]),
('B',[ 0,300,20,-280,-25,290,30,-270,40,300,-10,-260]),
]
df = pd.DataFrame.from_dict(dict(data))
length = len(df)
df.loc[0,'cycle']=1
df['cycle'] = length/4 +df.loc[0,'cycle']
i = 0
for i in range(0,length):
df.loc[i,'new_cycle']=i+1
df['want_cycle']= [1,1,1,1,2,2,2,2,3,3,3,3]
print(length)
print(df)
我确实需要代码中的 if 条件,如果索引计数器例如 4,也只会增加 df['new_cycle'] 的值。但到目前为止,我未能找到实现此类条件的正确方法。
【问题讨论】:
-
抱歉@sulphur 我有点困惑,如果索引等于 4,您只想增加 new_cycle 中的计数?
-
不抱歉只有4,因为你数到4然后增加i +1