我有一個非常基本的函數,它接受一個字符串的前六個字母。我想將它應用到我的DataFrame中的一列。在熊貓中傳遞基本函數的麻煩
代碼:
import re
import pandas as pd
import numpy as np
dfp = pd.DataFrame({'A' : [np.NaN,np.NaN,3,4,5,5,3,1,5,np.NaN],
'B' : [1,0,3,5,0,0,np.NaN,9,0,0],
'C' : ['AA1233445','A9875', 'rmacy','Idaho Rx','Ab123455','TV192837','RX','Ohio Drugs','RX12345','USA Pharma'],
'D' : [123456,123456,1234567,12345678,12345,12345,12345678,123456789,1234567,np.NaN],
'E' : ['Assign','Unassign','Assign','Ugly','Appreciate','Undo','Assign','Unicycle','Assign','Unicorn',]})
def six_dig(thing):
return str(thing)[:6]
dfp6= dfp[dfp['C'].apply(six_dig, axis=1)]
,但我得到:TypeError: six_dig() got an unexpected keyword argument 'axis'
我甚至使用.map()
嘗試,但得到了同樣的錯誤。
如果我刪除axis=1
我得到:KeyError: ["STUFF"] not in index
我必須失去了一些東西,因爲我已經使用之前數據幀列功能超級簡單...
你是絕對正確的。謝謝你爲我節省了一小步。 @潘森的回答也顯示我出了什麼問題。 – MattR
@MattR很高興它有幫助! –