为什么pd.DataFrame与pd.isnull失败?

时间:2017-10-23 00:31:59

标签: python pandas dataframe

tt = pd.DataFrame({'a':[1,2,None,3],'b':[None,3,4,5]})
bb=pd.DataFrame(pd.isnull(tt).astype(int), index = tt.index, columns=map(lambda x: x + '_'+'NA',tt.columns))
bb

enter image description here

我希望使用pd.isnull(tt)创建此数据框,并且列名称包含NA,但为什么会失败?

1 个答案:

答案 0 :(得分:2)

使用values

tt = pd.DataFrame({'a':[1,2,None,3],'b':[None,3,4,5]})
bb=pd.DataFrame(data=pd.isnull(tt).astype(int).values, index = tt.index, columns=list(map(lambda x: x + '_'+'NA',tt.columns)))

之所以 :  pandas数据会传输列和索引,pd.isnull(tt).astype(int)已将列名称设为ba

更多信息

bb=pd.DataFrame(data=pd.isnull(tt).astype(int), index = tt.index,columns=['a','b', 'a_NA','b_NA'] )
bb
Out[399]: 
   a  b  a_NA  b_NA
0  0  1   NaN   NaN
1  0  0   NaN   NaN
2  1  0   NaN   NaN
3  0  0   NaN   NaN