gpt4 book ai didi

python - 根据索引选择固定数据帧范围并附加到新数据帧

转载 作者:行者123 更新时间:2023-11-28 17:30:32 25 4
gpt4 key购买 nike

我有一个数据框:

resultsDf

返回以下内容:

       0
0 100
1 -2800
2 -2800
3 -2800
0 -2800
1 -2800
2 -2900
3 -3000
0 -3000
1 -3000
2 -3000
3 -3000
0 -3000
1 -3000
2 -3000
3 -3000
.
.
.
0 -3100
1 25500

我想根据索引提取数据帧的固定子集,即 0,1,2,3

然后我想将每个帧添加到列格式的新数据框中。所以最终数据框应该是这样的:

  C1   C2   C3.....Cn
0
1
2
3

最佳答案

你可以通过 values 将 df 转换为 numpy 数组和 reshape .然后您可以使用 range 通过列表理解设置新的列名称:

print resultsDf

0
0 100
1 -2800
2 -2800
3 -2800
0 -2800
1 -2800
2 -2900
3 -3000
0 -3000
1 -3000
2 -3000
3 -3000
0 -3000
1 -3000
2 -3000
3 -3000

df = pd.DataFrame((resultsDf.values).reshape((4, (resultsDf.values).shape[0]/4)))
df.columns = ['C' + str(i) for i in range(1, len(df.columns) + 1) ]

print df

C1 C2 C3 C4
0 100 -2800 -2800 -2800
1 -2800 -2800 -2900 -3000
2 -3000 -3000 -3000 -3000
3 -3000 -3000 -3000 -3000

如果您缺少最后一行(没有像其他行那样重复索引):

print resultsDf

0
0 100
1 -2800
2 -2800
3 -2800
4 -2800
5 -2800
6 -2900
7 -3000
8 -3000
9 -3000
10 -3000
11 -3000
12 -3000
13 -3000
14 -3000
15 -3000
0 100
1 -2800
2 -2800
3 -2800
4 -2800
5 -2800
6 -2900
7 -3000
8 -3000
9 -3000
10 -3000
11 -3000
12 -3000
13 -3000
14 -3000
15 -3000
0 -3100
1 25500
#use all df without last two rows - resultsDf[:-2]
df = pd.DataFrame((resultsDf[:-2].values).reshape(16, resultsDf[:-2].values.shape[0]/16))
#append last two rows to new df
df = pd.concat([df, resultsDf[-2:]], axis=1)
df.columns = ['C' + str(i) for i in range(1, len(df.columns) + 1) ]

print df

C1 C2 C3
0 100 -2800 -3100
1 -2800 -2800 25500
2 -2800 -2800 NaN
3 -2900 -3000 NaN
4 -3000 -3000 NaN
5 -3000 -3000 NaN
6 -3000 -3000 NaN
7 -3000 -3000 NaN
8 100 -2800 NaN
9 -2800 -2800 NaN
10 -2800 -2800 NaN
11 -2900 -3000 NaN
12 -3000 -3000 NaN
13 -3000 -3000 NaN
14 -3000 -3000 NaN
15 -3000 -3000 NaN

关于python - 根据索引选择固定数据帧范围并附加到新数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34692123/

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