python 数据帧按行号切片

问题描述 投票:0回答:1

所有Python专家,

我是一个Python新手,遇到了一个对你来说可能看起来很简单的问题。 假设我有一个 100 行的数据帧,如何将其分成 5 个子帧,每个子帧分别包含 5n+0、5n+1、5n+2、5n+3 和 5n+4 行? 例如,第 0、5、10 至 95 个将进入一个子帧,第 1、6、11 至 96 个将进入第 2 个子帧,第 4、9、14 至 99 个将进入第 2 个子帧。第5个子帧?

这是我尝试过的:

grouped = l_df.groupby(l_df.index//5)  
a_df = grouped.get_group(1)
b_df = grouped.get_group(2)
c_df = grouped.get_group(3)
d_df = grouped.get_group(4)

但是我的每组都只有 5 行。 有什么建议吗?

提前非常感谢!

python dataframe row slice alternating
1个回答
0
投票

只需使用 iloc 和 slice,就像使用列表一样,即开始:结束:步骤。示例:

df = pd.DataFrame({"A":range(100)})
display(df.T)
display(df.iloc[0::5].T)
display(df.iloc[1::5].T)
display(df.iloc[2::5].T)
# ...

res

© www.soinside.com 2019 - 2024. All rights reserved.