首页 > 解决方案 > 熊猫 iat:vscode 与 jupiterlab

问题描述

我使用了一些适用于 vscode 的代码:

df.iat[row_marker,column_marker] = thisText

起初df没有定义,row_marker,column_marker等于0; 它正确地创建了新的行和列!

我在 jupiterlab 中尝试了相同的代码,但得到了 IndexError :我认为这是因为不知道列号....

为什么这在 vscode 中有效,但在 JupiterLab 中无效?当我们不知道数据框的大小时,手动添加新值的方法是什么?


新评论:数据框存在但为空

标签: pandasdataframevisual-studio-code

解决方案


您可以使用此模式来构建可以在两个维度上增长的数据框:

import pandas as pd 
site_no = 0 
df = pd.DataFrame()
while site_no < 4:  # your website counter
    if site_no < 2:  # website with col0 and col1 data
        row = pd.DataFrame(
            {'col0:': 'Hello', 'col1': 'World'}, index=[site_no])
    else:  # website with col2 and col3 data
        row = pd.DataFrame(
            {'col2:': 'Say', 'col3': 'Goodbye'}, index=[site_no])
    df = df.append(row)
    site_no += 1

df
    col0:   col1    col2:   col3
0   Hello   World   NaN     NaN
1   Hello   World   NaN     NaN
2   NaN     NaN     Say     Goodbye
3   NaN     NaN     Say     Goodbye

推荐阅读