我有一些相對簡單的代碼,我正在努力拼湊在一起。我有一個CSV,我已經讀入一個數據框。 CSV是面板數據(即每行唯一的公司和年度觀察結果)。我有兩列我想執行一個函數,然後我想根據函數的輸出創建新的變量。使用熊貓迭代地將列添加到數據框
這裏是我到目前爲止的代碼:
#Loop through rows in a CSV file
for index, rows in df.iterrows():
#Start at column 6 and go to the end of the file
for row in rows[6:]:
data = perform_function1(row)
output = perform_function2(data)
df.ix[index, 'new_variable'] = output
print output
我想這段代碼迭代6列開始,然後轉到文件的末尾(例如,我有兩列我想執行Column6和Column7上的函數),然後根據執行的函數(例如Output6和Output7)創建新列。上面的代碼返回了Column7的輸出,但我無法弄清楚如何創建一個變量來允許我從兩個列中捕獲輸出(即,一個不被循環覆蓋的新變量)。我搜索了Stackoverflow,但沒有看到與我的問題直接相關的任何內容(可能是因爲我太大了一個noob?)。我將衷心感謝您的幫助。
感謝,
TT
附:我不確定我是否提供了足夠的細節。請讓我知道如果我需要提供更多。
你能舉一個你的輸入和期望輸出的例子嗎?通過「一個新變量」,你實際上是否指「一個新的列名稱」? – BrenBarn
是 - 新的列名稱。我的輸入是一段文字。該函數根據輸入文本計算可讀性統計量。因此,新變量(或新列)基本上是基於文本的可讀性統計量(Flesch-Kincaid Score)。因爲'rows'是數據集中的一行,'rows [6:]'中的行實際上正在迭代列,因此行[6:]中的行被混淆了[ – TaterTots
]。 – GeauxEric