我想重新採樣熊貓數據框並將不同的函數應用於不同的列。問題是我無法正確處理一個字符串的列。我想應用一個將字符串與分隔符(如「 - 」)合併的函數。這是一個數據示例:重新採樣熊貓數據框和列中的合併字符串
import pandas as pd
import numpy as np
idx = pd.date_range('2017-01-31', '2017-02-03')
data=list([[1,10,"ok"],[2,20,"merge"],[3,30,"us"]])
dates=pd.DatetimeIndex(['2017-01-31','2017-02-03','2017-02-03'])
d=pd.DataFrame(data, index=,columns=list('ABC'))
A B C
2017-01-31 1 10 ok
2017-02-03 2 20 merge
2017-02-03 3 30 us
使用求和和平均聚合器工作重新採樣數字列A和B.然而,列C與總和(但它被放在第二位,這可能意味着某些失敗)的作品。
d.resample('D').agg({'A': sum, 'B': np.mean, 'C': sum})
A C B
2017-01-31 1.0 a 10.0
2017-02-01 NaN 0 NaN
2017-02-02 NaN 0 NaN
2017-02-03 5.0 merge us 25.0
我希望得到這樣的:
...
2017-02-03 5.0 merge - us 25.0
我以不同的方式,但沒有成功使用lambda試過(未顯示)。
如果我可能會問第二個相關問題:我可以爲此做一些後處理,但是如何用零或「」填充不同列中的丟失單元格?
IIUC,你可以使用df.fillna(),以填補缺失值。 https://pandas.pydata.org/pandas-docs/stable/missing_data.html – Evan
是的,並且可能對不同的列應用不同的替換(例如0,無,「」)。我想知道在.resample – aless80