pandas 创建行元素列表- Python [replicate]

yvfmudvl  于 2022-12-21  发布在  Python
关注(0)|答案(1)|浏览(119)
    • 此问题在此处已有答案**:

What are Pandas "expanding window" functions?(3个答案)
18小时前关门了。
我想从A列元素创建B列,如下所示,在panadas dataframe.C


有人能帮帮忙吗?
我基本上是想计算'A'列的滚动中位数。谁能告诉B列的替代方案也可以计算相同的结果

bkhjykvo

bkhjykvo1#

如果需要列表,请在列表解析中使用Series.expanding

df = pd.DataFrame({'A':range(1, 7)})

df['B'] = [x.tolist() for x in df.A.expanding()]
print (df)
   A                   B
0  1                 [1]
1  2              [1, 2]
2  3           [1, 2, 3]
3  4        [1, 2, 3, 4]
4  5     [1, 2, 3, 4, 5]
5  6  [1, 2, 3, 4, 5, 6]

备选方案:

L = df.A.tolist()
df['B'] = [L[:i] for i, x in enumerate(L,1)]

如果需要中位数,则使用Expanding.median

df = pd.DataFrame({'A':range(1, 7)})

df['B'] = df.A.expanding().median()
print (df)
   A    B
0  1  1.0
1  2  1.5
2  3  2.0
3  4  2.5
4  5  3.0
5  6  3.5

相关问题