gpt4 book ai didi

python - PANDAS:修剪多个数据帧

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

我想从几个数据框中删除行,使它们的长度都是n。当我尝试使用 -for- 循环时,更改不会在脚本的其余部分中持续存在。

n = 50
groups = [df1, df2, df3]
for dataset in groups:
dataset = dataset[:n]

单独重新定义名称(例如 df1 = df1[:n] )是可行的,但是有哪些替代方法? (通过 python 或 pandas)

更重要的是,为什么 -for- 循环在这里不起作用?

Pandas == 0.10.1 python ==2.7.3

最佳答案

这是对 python 的一个轻微误解,而不是与 pandas 特定的误解有关。 :)

您要重新分配迭代中使用的变量,而不是在列表中更改它:

In [1]: L = [1, 2, 3]

In [2]: for i in L:
i = i + 1

In [3]: L
Out[3]: [1, 2, 3]

您想要实际更改列表:

In [4]: for i in range(len(L)):
L[i] = L[i] + 1

In [5]: L
Out[5]: [2, 3, 4]

或者也许更好的语法是使用enumerate:

In [6]: for i, x in enumerate(L):
L[i] = x + 1

In [7]: L
Out[7]: [3, 4, 5]

即:

for i, dataset in enumerate(groups):
groups[i] = dataset[:n]

关于python - PANDAS:修剪多个数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15713427/

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