dataFrame不填充python中的循环产生的值

发布于 2025-02-14 00:34:06 字数 623 浏览 4 评论 0原文

我正在运行循环,以创建“新”值的数据框架。

New = 0
Approved = 0
df = pd.DataFrame()
for row, rowdata in enumerate(combined):
    for col, value in enumerate(rowdata.values()):
        if col == 0:
            print(value)
        if col == 2:
            New += value
            print('Original New')
            print(value)
        if col == 4:
            Approved = value
            if Approved > 0:
                New = New - Approved
            print('Updated New')
            print(New)
        df['New'] = New

此代码中的所有内容似乎都在起作用,除了最后的df ['new'] = new语句。关于为什么发生这种情况的任何想法都将非常感谢。

I am running a for loop in order to create a dataframe of 'New' values.

New = 0
Approved = 0
df = pd.DataFrame()
for row, rowdata in enumerate(combined):
    for col, value in enumerate(rowdata.values()):
        if col == 0:
            print(value)
        if col == 2:
            New += value
            print('Original New')
            print(value)
        if col == 4:
            Approved = value
            if Approved > 0:
                New = New - Approved
            print('Updated New')
            print(New)
        df['New'] = New

Everything in this code seems to be working except for the last df['New'] = New statement. Any ideas on why that might be happening would be greatly appreciate.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

柠檬 2025-02-21 00:34:06

df ['new'] = new是插入单行的错误方法。

修复它的一种方法:

all_rows = []
New = 0
Approved = 0
for row, rowdata in enumerate(combined):
    for col, value in enumerate(rowdata.values()):
        if col == 0:
            print(value)
        if col == 2:
            New += value
            print('Original New')
            print(value)
        if col == 4:
            Approved = value
            if Approved > 0:
                New = New - Approved
            print('Updated New')
            print(New)
        # Accumulate all the rows
        all_rows.append(New)
# Finally create a dataframe 
df = pd.DataFrame({'New': all_rows})

df['New'] = New is a wrong way to insert a single row.

One way to fix it:

all_rows = []
New = 0
Approved = 0
for row, rowdata in enumerate(combined):
    for col, value in enumerate(rowdata.values()):
        if col == 0:
            print(value)
        if col == 2:
            New += value
            print('Original New')
            print(value)
        if col == 4:
            Approved = value
            if Approved > 0:
                New = New - Approved
            print('Updated New')
            print(New)
        # Accumulate all the rows
        all_rows.append(New)
# Finally create a dataframe 
df = pd.DataFrame({'New': all_rows})

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文