亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

遇到“類型錯誤:'float'對象在使用列表時不可下標

遇到“類型錯誤:'float'對象在使用列表時不可下標

慕森王 2021-10-19 10:29:31
我的數據框中有一個“本科”系列,我正在嘗試迭代并將逗號剩下的所有內容拆分為“Bachelor...”和“University Name”,但我遇到了 Python TypeError讓它通過一個循環,它返回一個“浮動”對象,盡管它是一個字符串,但它是不可下標的??赡苡幸环N更簡單的方法來做我正在做的事情,但是我在不同的項目中使用了這種技術并且它成功了,所以我試圖重用我所做的。編碼:undergrad = df['Undergraduate'].str.split(',')返回:0      [Bachelor of Arts/Science,  Shanghai Jiaotong ...]1      [Bachelor of Arts/Science,  University of Flor...2      [Bachelor of Arts/Science,  University of Cinc...3        [Bachelor of Arts/Science,  Harvard University]4      [Bachelor of Arts/Science,  University of Puge...并使用了這個循環:eduList = []for item in undergrad:    school = item[0][1]    eduList.append(school)返回此錯誤:TypeError            Traceback (most recent call last)<ipython-input-6-4131c28b2fb3> in <module>()      2       3 for item in undergrad:----> 4     school = item[0][1]      5     eduList.append(school)TypeError: 'float' object is not subscriptable當我檢查 dtypes 時,它也說對象。不確定是什么問題。在此先感謝您的幫助!
查看完整描述

1 回答

?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

也許您的數據沒有記錄,您應該檢查哪一行導致此錯誤。我發現你的代碼可能沒有達到你的目標。因為item[0][1]只代表一個字符如下:


import pandas as pd

Undergraduate_list = ["Bachelor of Arts/Science,Shanghai Jiaotong","Bachelor of Arts/Science,University of Flor..."]

df = pd.DataFrame({"Undergraduate":Undergraduate_list})


undergrad = df['Undergraduate'].str.split(',')


eduList = []


for item in undergrad:

    print(item[0],item[0][1])

輸出是:


Bachelor of Arts/Science a

Bachelor of Arts/Science a

如果你想獲得學位,你可以這樣做:


eduList,universityList = undergrad.str[0],undergrad.str[1]

print(eduList)

你會得到:


0    Bachelor of Arts/Science

1    Bachelor of Arts/Science

Name: Undergraduate, dtype: object


查看完整回答
反對 回復 2021-10-19
  • 1 回答
  • 0 關注
  • 390 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號