初学者Pandas,无法使用第一列保存结果

2024-04-25 05:22:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我在学习python,我在提交我的成绩给kaggle泰坦尼克号比赛时遇到了一些麻烦。在下面的surv\u pred中包含我的结果数组 当T包含我的数据时

show_table(T,5)
# this results in :

Sample data entry : 5
PassengerId 5
Age 0.35000000000000003
SibSp 0.0
Parch 0.0
Fare 0.0008050000000000002
RelationsOnBoard 0.0
DatingRank 0.3
Deck 0.0
female 0
harborA 0
harborB 1
harborC 0
ClassUp 0
ClassMid 0
ClassLow 1
HasCabin 0
AgeUnknown 0
Family_Size 0.0
Fare_Per_Person 0.008050000000000002
Cabin3thclass 1
Cabin2ndClass 0
Cabin1stClass 0
CabinLuxeryClass 0
IdealFamSize 0

surv_pred = clf.predict(T)
print(surv_pred)

#this results in a binary array [1 0 1 1 0 1 .... etc

# from here i have python trouble:

ids =  T.loc['PassengerId']
submissions = pd.DataFrame('PassengerId' = ids ,'survived' = surv_pred)
submissions.to_csv("submit_v3.csv",index=False)

我尝试了代码中的各种变体,但不知怎的,我无法获得teat['passengerId']的第一列。要使以上代码正常工作,请将结果保存到csv文件。大熊猫的问题与保护与选择。ids=T['passenderId']也行不通。你知道吗

上面的代码有什么问题?你知道吗

我遇到了像KeyError这样的错误:'标签[PassengerId]不在[index]中'
在线路中引起:ids=T.loc['PassengerId']
我不明白,因为PassengerId显然在那里 我甚至试图通过在我的代码中放置上面所有的下面来确保这一点。你知道吗

    T.rename(columns={ T.columns[0]: 'PassengerId' },inplace=True)

Tags: columnscsv代码inidsindexthisresults
2条回答

代码:

submissions = pd.DataFrame('PassengerId' = ids ,'survived' = surv_pred)

生成此问题

你应该这样做:

submissions = pd.DataFrame({'PassengerId' : ids ,'survived' : surv_pred})

你的想法全是专栏里的数据

ids=T.loc[:,'PassengerId'].值

参考文献 “交换列值的正确方法是使用原始值:”

https://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-integer

相关问题 更多 >