【pandasデータベース内のCSVファイルのデータクリーニングと加工】モール会員情報のデータが不完全(「生年月日」「登録時刻」列に値が欠落している、または実態と異なる等)がある場合は、削除して保存します間違ったデータを使用してメンバーを年齢別に分類する 分類統計用の Python プログラム

 問題を解決する手順は次のとおりです。

元データセットは2015年1月1日から2018年1月3日までのショッピングモールの会員情報データを使用し、ファイルはcsvファイル形式です

データ内の一部のデータには不完全なデータと間違ったロジックが含まれているため、Python でクリーンアップする必要があります。CSV ファイル形式のデータを処理するには、pandas ライブラリを使用するのが非常に便利です。

「生年月日」「性別」「登録時刻」の列に欠損値があり、埋めるのは容易ではないため、欠損値のある行データを削除することを検討してください。データを観察すると、会員の生年月日よりも登録時刻が古い会員がいることがわかりますが、元データが多いため、この種のデータは割合が小さく、問題分析にはほとんど影響しません。したがって、それは破棄され、最終的にクリーンアップされ、最終的なデータは TASK.csv ファイルとして保存されます。

中国の分類基準によれば、0~17歳の会員は青少年、18~40歳の会員は青少年、40~65歳の会員は中年、65歳以上の会員は高齢者に分類されており、会員データは以下の通りである。年齢に応じて、青少年、若年者、中年、高齢者に分類されます。

最後に、info() 関数、value_counts() 関数、describe() 関数を使用して、データの情報を簡単に表示します。

プログラムコードは次のとおりです。 

import pandas as pd
shj=pd.read_csv('userinfo1.csv',encoding='gbk',header=0)
qshj=shj.dropna(subset=['出生日期','性别','登记时间'],
                axis=0,how='any')
csrq=pd.to_datetime(qshj.loc[:,'出生日期'],errors='coerce')
djsj=pd.to_datetime(qshj.loc[:,'登记时间'])
qshj.loc[:,'时间差']=djsj-csrq
qshj.loc[:,'总秒数']=qshj['时间差'].dt.total_seconds()
qcshj=qshj.loc[qshj['总秒数']>0]#
qcshj2=qshj.loc[qshj['总秒数']>0]#
qcshj.drop(['时间差'],axis=1,inplace=True)
qcshj.drop(['总秒数'],axis=1,inplace=True)
qcshj.to_csv('TASK.csv',index=None)
# xzsj=pd.to_datetime('2021/12/7 00:00')
qcshj2.loc[:,'出生年份']=csrq.dt.year
chsnf=qcshj2['出生年份']#
qcshj2.loc[:,'年龄']=2021-chsnf
qcshj2.loc[:,'年龄划分']=''
qcshj2.loc[qcshj2['年龄']<=17,'年龄划分']='少年'
qcshj2.loc[(qcshj2['年龄']>=18)&(qcshj2['年龄']<=40),'年龄划分']='青年'
qcshj2.loc[(qcshj2['年龄']>=41)&(qcshj2['年龄']<=65),'年龄划分']='中年'
qcshj2.loc[qcshj2['年龄']>=66,'年龄划分']='老年'
renshu=pd.Series(qcshj2['年龄划分'])
print(renshu.value_counts())
qcshj2.drop(['时间差'],axis=1,inplace=True)
qcshj2.drop(['总秒数'],axis=1,inplace=True)
qcshj2.drop(['年龄划分'],axis=1,inplace=True)
# qcshj2.drop(['年龄'],axis=1,inplace=True)
qcshj2.to_csv('task1.csv',index=None)

プログラムを実行した結果は次のようになります。

 

 

 (警告が出ますが、警告により処理されたデータは対象ファイル内で変更されますが、目的に合致しており影響はありません)

 これを見た友達は、離れる前に「いいね!」することを忘れないでください。

ブロガーをフォローして、Python プログラミングの知識をさらに学びましょう。

おすすめ

転載: blog.csdn.net/qq_59049513/article/details/122729283