我有一個(gè)數(shù)據(jù)集,我想通過(guò)使用預(yù)定義參數(shù)作為字符串的一部分來(lái)引用我的列。這樣做的原因是我想要保留的列會(huì)根據(jù)一年中的時(shí)間和年份而變化。我的參數(shù)是:year = '20'這工作正常并給我想要的結(jié)果:df.['Q1 FY20'] = df.['Q1 FY20'].astype('int32')但是當(dāng)我嘗試用參數(shù)替換字符串中的“20”時(shí),我得到 KeyError: 'Q1 FY20':df.['Q1 FY' + year] = df.['Q1 FY' + year].astype('int32')我真的不明白這一點(diǎn),因?yàn)槲乙呀?jīng)檢查過(guò):type('Q1 FY20') == type('Q1 FY' + year)
'Q1 FY20' == 'Q1 FY' + year......它們都是真的。我究竟做錯(cuò)了什么?
2 回答

LEATH
TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊
你可以試試這個(gè):
year = '20'
column_name = "Q1 FY" + year
df[column_name] = df[column_name].astype('int32')
快照:

揚(yáng)帆大魚(yú)
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
我發(fā)現(xiàn)了我的錯(cuò)誤,在進(jìn)行所需的數(shù)據(jù)清理之前,我試圖在實(shí)例中測(cè)試代碼。
當(dāng)我用我的參數(shù)替換實(shí)際代碼時(shí),它起作用了。然而,我仍然不明白為什么當(dāng)我寫(xiě)出完整的字符串時(shí)沒(méi)有得到任何 KeyError 。
添加回答
舉報(bào)
0/150
提交
取消