我想为Panda DataFrame创建一个计数器,以仅保存到特定列中的某个值为止。 f.e仅保存到df ['cycle'] ==2。
我从下面的答案中得出的结论是df [df ['cycle'] <= 2]将解决我的问题。
编辑:如果我是对的,那么python pandas总是读取整个文件,只有当我们比您说的要长时才去索引x,但是如果我不想使用Index而是从列中使用特定值,就可以了。我该怎么办?
请参见下面的代码:
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))
df['cycle'] = [df.index.get_loc(i) // 4 + 1 for i in df.index]
df[df['cycle']<=2]
df.to_csv(path_or_buf='test.out', index=True, sep='\t', columns=['time','A','B','cycle'], decimal='.')
所以我根据用户的建议修改了答案。
我很高兴能获得所有帮助。