Pandas基础:查看各列数据类型
看到很多人查这个问题,刚好这两天在项目上也用到这一点。要查看各列的数据类型,因为数据处理时,首先就是要高清手里的数据都是什么类型的,尤其要关注字符型,因为很多算法都是不支持字符类型的。当数据维度和数据量都很少的时候,可以很直观的看出来,但是数据量一大,很难肉眼观测,而且很多时候是看不出隐藏的数据问题的。所以要用代码,其实代码很简单。一、读取数据df = pd.read_csv('da...
·
看到很多人查这个问题,刚好这两天在项目上也用到这一点。要查看各列的数据类型,因为数据处理时,首先就是要高清手里的数据都是什么类型的,尤其要关注字符型,因为很多算法都是不支持字符类型的。
当数据维度和数据量都很少的时候,可以很直观的看出来,但是数据量一大,很难肉眼观测,而且很多时候是看不出隐藏的数据问题的。所以要用代码,其实代码很简单。
一、读取数据
df = pd.read_csv('data.csv')
二、查看各列数据类型
1.少量数据
df.dtypes
输出:
age int64
province_x object
gender int64
i_cnt_accountemail_all_all_90day int64
i_cnt_mobile_all_all_90day int64
i_cnt_partner_Lending_Bank_1800day int64
i_cnt_partner_Lending_Bank_180day int64
i_cnt_partner_Lending_Bank_30day int64
i_cnt_partner_Lending_Bank_365day int64
i_cnt_partner_Lending_Bank_540day int64
i_cnt_partner_Lending_Bank_720day int64
2.大量数据
cols = df.columns
for col in cols:
print(col+' : '+ str(df[col].dtype))
输出:
age : int64
province_x : object
gender : int64
i_cnt_accountemail_all_all_90day : int64
i_cnt_mobile_all_all_90day : int64
i_cnt_partner_Lending_Bank_1800day : int64
i_cnt_partner_Lending_Bank_180day : int64
i_cnt_partner_Lending_Bank_30day : int64
i_cnt_partner_Lending_Bank_365day : int64
i_cnt_partner_Lending_Bank_540day : int64
i_cnt_partner_Lending_Bank_720day : int64
i_cnt_partner_Lending_Bank_7day : int64
i_cnt_partner_Lending_Bank_90day : int64
i_cnt_partner_Lending_Bigdatafinance_1800day : int64
有时候,由于维度太多,一一打印出来也难以分析。例如,项目中我只要查看非数值型的列,并将他们删除。
只看字符类型的列:
cols = df.columns
for col in cols:
if str(df[col].dtype) == 'object':
print(col)
输出:
province_x
LOAN_START_DATE_x
ENCODE_CERT_CODE
ENCODE_MOBILE_PHONE_x
province_y
m_up_devicebrand
LOAN_START_DATE_y
ENCODE_MOBILE_PHONE_y
删除这些列:
df = df.drop(['province_x','LOAN_START_DATE_x','ENCODE_CERT_CODE','ENCODE_MOBILE_PHONE_x','province_y',
'm_up_devicebrand','LOAN_START_DATE_y','ENCODE_MOBILE_PHONE_y'],axis=1)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)