0
我有一個數據幀,看起來是這樣的:大熊貓適用於如預期各列的作品,而不是整個數據幀
pd.DataFrame({'state':['AL','AL'],'statefp':[1.0,1.0]})
state statefp
0 AL 1.0
1 AL 1.0
我想將整個數據框進式STR和使用.apply
方法是。我想要做的是如果該項目的類型爲浮點數,我想將其存儲爲一個字符串整數,如果它已經是一個字符串我想小寫它。我已經試過這樣:
df.apply(lambda x: '{:.0f}'.format(x) if isinstance(x,float) else x.astype(str).str.lower())
其輸出這個(不是我,因爲statefp
想存儲爲一個字符串浮動):
state statefp
0 al 1.0
1 al 1.0
然而,當我用同樣適用於只是該列,它工作正常:
>>>df.statefp.apply(lambda x: '{:.0f}'.format(x) if isinstance(x,float) else x.astype(str).str.lower())
0 1
1 1
我失去了一些關於如何.apply
正在對整個數據幀?我也嘗試了設置的參數axis='columns'
,但是這也不起作用。
此外,我願意嘗試其他代碼,而不僅僅是.apply
。
你知道,如果''dtype'的np.NaN'是'np.float'? 'statefp'列中有一些'NaN',它拋出這個錯誤:'不能將NA轉換爲整數','indexfoundation statefp' – LMc
@LMc是的,np.Nan被認爲是np.float。 'type(np.nan)== np.float'返回True –