新的熊貓和新的stackoverflow(真的),任何建議,非常感謝!熊貓dataframe:在列上執行計算
我有這樣的數據幀DF:
col1 col2 col3
Date
2017-08-24 100 101 105
2017-08-23 102 102 107
2017-08-22 101 100 106
2017-08-21 103 99 106
2017-08-18 103 98 108
...
現在我想與每一列,例如的值執行一些計算計算每個值的對數。
我認爲這是一個好主意,循環的列和創建一個新的臨時數據框與結果列。 這個新的數據幀應該是這樣的。例如:
col1 RN LOG
Date
2017-08-24 100 1 2
2017-08-23 102 2 2,008600
2017-08-22 101 3 2,004321
2017-08-21 103 4 2,012837
2017-08-18 103 5 2,012837
所以,我想這個for循環:
for column in df:
tmp_df = df[column]
tmp_df['RN'] = range(1, len(tmp_df) + 1) # to create a new column with the row number
tmp_df['LOG'] = np.log(df[column]) # to create a new column with the LOG
然而,這並不打印旁邊COL1新列,但有以下其他。結果是這樣的:
Name: col1, Length: 86, dtype: object
Date
2017-08-24 00:00:00 100
2017-08-23 00:00:00 102
2017-08-22 00:00:00 101
2017-08-21 00:00:00 103
2017-08-18 00:00:00 103
RN,"range(1, 86)"
LOG,"Date
2017-08-24 2
2017-08-23 2,008600
2017-08-22 2,004321
2017-08-21 2,012837
2017-08-18 2,012837
00:00:00加入在第一部分的日期......
我也嘗試過一些與分配:
tmp_df = tmp_df.assign(LN=np.log(df[column]))
但這結果爲「AttributeError:」'Series'object has no attribute'assign'「」
如果有人能指出我的方向是正確的,那真的很棒。 謝謝!
你可以發佈你想要的輸出看起來像什麼嗎?我不清楚最終結果應該是什麼 – johnchase
嗨,約翰,我正在爲每列創建一個新的數據表單,並且它應該包含原始列c1 - cN和它旁邊的計算值,例如,行號和c1的LOG。我試圖在第二個代碼片段中顯示它 – RazzleDazzle