为Python中的第n行选择中间值

2024-10-03 11:18:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建新的数据帧,它应该只包含一个中间值(不是中间值!!)但是,每n行,我的代码就不起作用!你知道吗

我尝试过熊猫或简单Python的几种方法,但总是失败。你知道吗

       value   date        index
   14  40      1983-07-15  14
   15  86      1983-07-16  15
   16  12      1983-07-17  16
   17  78      1983-07-18  17
   18  69      1983-07-19  18
   19  78      1983-07-20  19
   20  45      1983-07-21  20
   21  47      1983-07-22  21
   22  48      1983-07-23  22 
   23  .....    .........  .. 
   RSDF5 = RSDF4.groupby(pd.Grouper(freq='15D', key='DATE')).[int(len(RSDF5)//2)].reset_index()

我知道代码是错误的,我完全没有想法!你知道吗

   SyntaxError: invalid syntax

Tags: 数据方法key代码dateindexvalueint
1条回答
网友
1楼 · 发布于 2024-10-03 11:18:42

基于索引的解决方案。你知道吗

df是原始数据帧,N是要分组的行数(假设为ad奇数,因此中间有一个唯一的行)。你知道吗

df2 = df.groupby(np.arange(len(df))//N).apply(lambda x : x.iloc[len(x)//2])

请注意,如果总数或行数不能被N整除,则最后一个组较短(但仍会得到其中间值)。
如果N是一个偶数,您将得到靠近组末尾的中心行:例如,如果N=6,则得到每组6行中的第4行。你知道吗

相关问题 更多 >