首页 > 解决方案 > 无法在 FOR 循环内的空数据帧中插入新值:错误 - IndexError:索引 1 超出轴 0 的范围,大小为 0

问题描述

如果条件满足,我正在尝试在 FOR 循环中的 EMPTY DataFrame 中插入一行。我收到 IndexError: index 1 is out of bounds for axis 0 with size 0

下面是我的代码:

 women = pd.DataFrame(columns= ["Survival_Rate"])
for i in range(len(titanic_train_data.Sex)):
    if (titanic_train_data.Sex[i] == 'female'):
        women['Survival_Rate'][i] = ([titanic_train_data.Survived[i]])

为了完成上述操作,我也尝试使用 APPEND 方法,但这也不起作用&我得到 TypeError: cannot concatenate object of type ''; 只有 Series 和 DataFrame obj 是有效的

women = pd.DataFrame(columns= ["Survival_Rate"])
for i in range(len(titanic_train_data.Sex)):
    if (titanic_train_data.Sex[i] == 'female'):
        women['Survival_Rate'].append([titanic_train_data.Survived[i]])

任何人都可以分享对上述问题的见解以及我在做什么错误。等待回复。

问候,穆库尔

标签: pythonpandasdataframedata-sciencesklearn-pandas

解决方案


缺少LOC功能。现在工作正常。

for i in range(len(titanic_train_data.Sex)):
    if (titanic_train_data.Sex[i] == 'female'):
        women.Survived.loc[i] = titanic_train_data.Survived[i]

推荐阅读