gpt4 book ai didi

python - 将值附加到空的 PANDAS 数据框

转载 作者:太空宇宙 更新时间:2023-11-04 10:13:51 25 4
gpt4 key购买 nike

我创建了一个空的数据框,我也命名了列,我没有指定任何索引:

  columns = ['C1','C2']
emp=pd.DataFrame(columns=columns)

我想用我从 for 循环获得的输出填充 emp 数据框。例如:

  j=0
for i in iset:
emp[j]["C1"]=i
emp[j]["C2"]=i*i

因此,假设 iset 为 2、3、4,我希望:

           C1   C2                      
index
1 2 4
2 3 9
3 4 16

我该怎么做?欢迎提出任何建议,感谢您的帮助。

最佳答案

以这种方式附加到数据帧通常是非常低效的,因为它每次都会返回数据帧的新副本,从而导致二次复制。您最好将列创建为变量,然后使用它们创建您的数据框。

iset = [2, 3, 4]
c1 = []
c2 = []
for i in iset:
c1.append(i)
c2.append(i * i)

emp = pd.DataFrame({'C1': c1, 'C2': c2})

>>> emp
C1 C2
0 2 4
1 3 9
2 4 16

时间

%%timeit
iset = range(1000)
emp = pd.DataFrame(columns=['C1', 'C2'])
for i in iset:
emp = emp.append({'C1': i, 'C2': i * i}, ignore_index=True)
1 loops, best of 3: 1.79 s per loop

%%timeit
iset = range(1000)
c1 = []
c2 = []
for i in iset:
c1.append(i)
c2.append(i * i)

emp = pd.DataFrame({'C1': c1, 'C2': c2})
1000 loops, best of 3: 779 µs per loop

关于python - 将值附加到空的 PANDAS 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36554556/

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