pythonデータ分析の無効なデータのスクリーニング
8982 ワード
最近1つの数学のモデリングの小さいプロジェクトを受け取って、その中の1つの質問は大量のデータの中から間違いのデータと無効なデータをふるい取って、Excelを開けて見ると、いいやつ--20万余りの行があって、15列、百万以上のデータ、無効なデータの分布はまだ均一ではありませんて、古怪をいじめて、これはとても難しいです.
更にお父さんのはまだ妨害の項があって、これはもしExcelの検索で交換する功でサルの年の馬の月まで行かなければならないならば、幸いにも......私達は流暢なpythonを学んだことがあります!
次にpythonで上記の問題を解決します.くだらないことは言わないで、先にコードをつけます.
まず適切な経路でExcelを読み取り、dataframe(大物のdataframe詳細)形式に変換し、s 1を用いる.ilocは指定行、指定列データを抽出します.(ilocに興味のある方はこれをご覧ください)
分析データから,9,10列では区分度が高く,この2列を選択して比較できることが分かった.
比較は平均加減算分散区間を用い,区間の中で良いデータと判断し,最後に保存する.
コードリファレンス
興味のある学生は私に関連するデータを私信で探してもいいです.
更にお父さんのはまだ妨害の項があって、これはもしExcelの検索で交換する功でサルの年の馬の月まで行かなければならないならば、幸いにも......私達は流暢なpythonを学んだことがあります!
次にpythonで上記の問題を解決します.くだらないことは言わないで、先にコードをつけます.
//
import numpy as np
import pandas as pd
path = "F:/ / /2020 C / / 1.xlsx"
s1 = pd.read_excel(path, sheet_name=0)# Excel pandas DataFrame
s1 = s1.values #
s1 = pd.DataFrame(s1) # dataframe
for each in range(0,16):
s1 = s1[(s1.iloc[:, each] != 'NULL')]
print(s1)
l = []
list = [9,10]
for c in range(len(list)): #
a = s1.iloc[:, list[c]].std()
l.append(a)
print(a, '
')
p = []
for c in range(len(list)): #
a = s1.iloc[:, list[c]].mean()
p.append(a)
print(a,'
')
for c in range(len(list)):
themin = p[c] - l[c] # , ,
themax = p[c] + l[c]
print(themin, ' ', themax)
s1 = s1[(s1.iloc[:, list[c] ] >= themin) & (s1.iloc[:, list[c] ] <= themax)] #
print(s1)
print('
', s1.shape[0], '
')
path = "F:/ /" #
s1.to_excel(path+"sheet1.xlsx")
まず適切な経路でExcelを読み取り、dataframe(大物のdataframe詳細)形式に変換し、s 1を用いる.ilocは指定行、指定列データを抽出します.(ilocに興味のある方はこれをご覧ください)
// NULL
for each in range(0,16):
s1 = s1[(s1.iloc[:, each] != 'NULL')]
分析データから,9,10列では区分度が高く,この2列を選択して比較できることが分かった.
比較は平均加減算分散区間を用い,区間の中で良いデータと判断し,最後に保存する.
コードリファレンス
興味のある学生は私に関連するデータを私信で探してもいいです.