首页 > 解决方案 > 在循环中向熊猫数据框添加值

问题描述

我正在尝试通过循环迭代地将值添加到行和列。如果我在这种情况下增加卷的数量,循环应该为每个特定数量的卷添加新的 1000 个值到列中,从而创建每个具有 1000 列的新行。但是,我收到错误“ValueError: setting an array element with a sequence”。

import random
import pandas as pd
A = [2,6,7]
B = [1,5,9]
C = [3,4,8]
a = pd.DataFrame(); b = pd.DataFrame()
N = 1000
rolls = -1
while rolls != 0:
    rolls += 1
    for i in range(N):
        a.at[rolls,i] = [random.choice(A)]
        b.at[rolls,i] = [random.choice(B)]

标签: pythonpandas

解决方案


设置标量而不是一个元素列表:

a.at[rolls,i] = random.choice(A)
b.at[rolls,i] = random.choice(B)

推荐阅读