gpt4 book ai didi

python - 在 pandas 中按向量分割数据框

转载 作者:行者123 更新时间:2023-12-01 08:58:31 25 4
gpt4 key购买 nike

我有一个包含 500 列和 x 行的数据框。现在我有一个向量t_1和一个向量t_2。向量 t_1 表示事件的开始,可以包含 1 个或多个值,t_2 表示事件的结束。它们都指示数据框中行的位置。

示例:

 t1=[4202 6453]
t2=[6203 6492]

我现在想将数据帧分成几个部分并将其保存为两个不同的数据帧。行 4202 到 6203 是数据帧 1,行 6453 到 6492 是数据帧 2。这将是整个数据框:

      A   B   C   D
1 5 2 3 4
.. . . . .
4202 3 4 2 1
4203 2 1 2 2
.. . . . .
6203 1 2 3 1
.. . . . .
6453 5 1 4 3
.. . . . .
6492 1 2 3 4

这应该是输出:数据框1:

      A   B   C   D
4202 3 4 2 1
.. . . . .
6203 1 2 3 1

和数据框2:

      A   B   C   D
6453 5 1 4 3
.. . . . .
6492 1 2 3 4

谢谢你,

最佳答案

我相信您需要使用loczip进行列表理解来获取DataFrame列表:

t1=[4202, 6453]
t2=[6203, 6492]

dfs = [df.loc[i:j] for i, j in zip(t1, t2)]

print (dfs[0])
print (dfs[1])

示例:

np.random.seed(142)

df = pd.DataFrame({'column':np.random.rand(8)})
print (df)
column
0 0.902062
1 0.557808
2 0.655985
3 0.832471
4 0.199884
5 0.127254
6 0.771439
7 0.432289
<小时/>
t1=[1, 3]
t2=[2, 5]

dfs = [df.loc[i:j] for i, j in zip(t1, t2)]
print (dfs)
[ column
1 0.557808
2 0.655985, column
3 0.832471
4 0.199884
5 0.127254]

print (dfs[0])
column
1 0.557808
2 0.655985

print (dfs[1])
column
3 0.832471
4 0.199884
5 0.127254

关于python - 在 pandas 中按向量分割数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52644597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com