gpt4 book ai didi

python - Pandas 用不同大小的 block 替换行 block

转载 作者:行者123 更新时间:2023-11-28 22:11:07 26 4
gpt4 key购买 nike

给定一个任意数据框,例如

df = pd.DataFrame([10,8,6,4,2])
>>> df
0
0 10
1 8
2 6
3 4
4 2

我想用不同大小的 block 替换这个数据集的 block :

new_chunk = pd.DataFrame([1,1,1,1])
>>> df.iloc[[0,1]]
0
0 10
1 8
df.iloc[[0,1]].replace_chunk(new_chunk)
>>> df
0
0 1
1 1
2 1
3 1
2 6
3 4
4 2

是否有任何单个命令(replace_chunk 不存在,我想模仿他的行为)来执行此操作?也许有多个命令?

最佳答案

使用concat有 3 个 DataFrame - 第一个值在位置的第一个值之前,然后是新值和最后一个值:

df = pd.DataFrame([10,8,6,4,2])
new_chunk = pd.DataFrame([1,1,1,1])

pos = [0, 1]
df = pd.concat([df.iloc[:pos[0]], new_chunk, df.iloc[pos[-1]:]], ignore_index=True)
print (df)
0
0 1
1 1
2 1
3 1
4 8
5 6
6 4
7 2

pos = [2, 4]
df = pd.concat([df.iloc[:pos[0]], new_chunk, df.iloc[pos[-1]:]], ignore_index=True)
print (df)
0
0 10
1 8
2 1
3 1
4 1
5 1
6 2

关于python - Pandas 用不同大小的 block 替换行 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56131310/

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