所以我有一個df = read_excel(...)循環(huán)確實有效:for i, row in df.iterrows(): #loop through rows
a = df[df.columns].SignalName[i] #column "SignalName" of row i, is read
b = (row[7]) #column "Bus-Signalname" of row i, taken primitively=hardcoded可以訪問 a,如何用 excel 表中動態(tài)找到/定位的“Bus-Signalname”元素替換硬編碼的 b = (row[7])。有哪些方法可以做到這一點? b = df[df.columns].Bus-Signalname[i]不起作用。
2 回答

qq_笑_17
TA貢獻1818條經(jīng)驗 獲得超7個贊
要訪問整個列,請運行df['Bus-Signalname']
:所謂的屬性符號( df.Bus-Signalname )在這里不起作用,因為“-”不允許作為屬性名稱的一部分。
它被視為減號運算符,因此:
它之前的表達式是df.Bus,但df可能沒有帶有 whis 名稱的列,因此拋出異常,
在它之后發(fā)生的事情(Signalname)應(yīng)該是一個變量,但你可能沒有這樣的變量,這是可能導(dǎo)致異常的另一個原因。
另請注意,您當時寫了[i]
. 據(jù)我了解,i
是一個整數(shù),您想要訪問此列中的第i個元素。
請注意,您檢索到的列是一個系列,其索引與整個DataFrame相同。
如果索引是默認的(連續(xù)的數(shù)字,從0開始),你就成功了。否則(如果索引不包含i的值)您將失敗。
訪問 DataFrame 中的元素的更pandasonic語法是:
df.loc[i, 'Bus-Signalname']
其中i是相關(guān)行的索引,Bus-Signalname是列名。
添加回答
舉報
0/150
提交
取消