Pythonの学習|データクリーニングと準備

ハンドル欠落したデータ

パンダで、すなわち欠落値が利用可能では使用できませんではない表すNA、として表され、R言語の使用を使用して、浮動小数点NaN(非数)が不足しているデータを示す値。
1.1データの欠落フィルタリング

1)dropna方法

あなたはどのように=「すべて」パラメータを着信全体の行または列NAを破棄したい場合はdrona方法は、欠損値を含む任意の行を破棄します。

n列またはNaNを持つ行を除外するために渡されたパラメータをTHRESH

2)pandas.notnull、ブール指標

1.2欠落データを埋める
fillna方法

注:この方法は、後充填現れ、ffill前の値に値が欠落している2つの方法があるが、bfillは、欠損値の前に充填した後に表示される値であります

2データ変換

2.1重複データを削除します

 この方法は、シリーズ重複ブール値を返します重複があるか否かを判断します

drop_duplicates重複行を削除する方法
の二つの方法の上方には、デフォルトで決定され、すべての列、列が指定された部分が決定される複製することができ、デフォルトの保持値の最初の組み合わせが発生され、入ってくるキープ=「最後」がされている
最後の保持します。

2.2関数又はマップデータ変換用いて
マップ又はマッピング関係を含む関数、str.lower法を受け入れることができる単語を一般的な方法の一連のオブジェクト、それぞれの値は小文字します

また、これらの機能のすべてを完了するために仕事を渡すことができます。

2.3オーバーライド

メソッドを置き換えます

あなたは使い捨ての複数の値に置き換えてもよいです。

パラメータはまた、辞書に渡すことができます。

2.4軸のインデックスの名前を変更し
、あなたがデータフレームに修正を置くことができるように、インデックスに割り当てることができる機能を定義します

あなたはデータのコピーを作成するのではなく、元のデータを変更している場合は、[名前の変更を使用します

ENAME典型的な単語は、ラベル軸更新部分の目的を達成するために組み合わせることができます。

2.5离散化和面元划分
连续数据常常被离散化或拆分为“面元”(bin)

2.6检测和过滤异常值
找出某列中绝对值大小超过3的值:

根据这些条件,就可以对值进行设置。下面的代码可以将值限制在区间-3到3以内:

注:np.sign(data)可以生成1和-1

2.7排列和随机采样
 

利用numpy.random.permutation函数可以轻松实现对Series或DataFrame的列的排列工作(permuting,随机重排序)

随机选择子集并不替换原来数据,可在Series和DataFrame上使用sample方法

2.8计算指标/哑变量

另一种常用于统计建模或机器学习的转换方式是:将分类变量(categorical variable) 转换为“哑变量”或“指标矩阵.
如果DataFrame的某一列中含有k个不同的值,则可以派生出一个k列矩阵或DataFrame(其值全为1和0),pandas有一个get_dummies函数可以实现该功能

3 字符串操作

以逗号分隔的字符串可以用split拆分成数段:

split常常与strip一起使用,以去除空白符(包括换行符):

向字符串"::"的join方法传入一个列表或元组,可以将子字符串以双冒号分隔符的形式连接起来

3.1正则表达式

正则表达式常称作regex, 提供了一种灵活的在文本中搜索或匹配(通常比前者复杂) 字符串模式的方式,Python内置的re模块负责对字符串应用正则表达式
拆分一个字符串,分隔符为数量不定的一组空白符\制表符、空格、换行符等:

如果对许多字符串使用同一条正则表达式,可以用re.compile创建regex对象。这样将可以节省大量的CPU时间。

3.2 pandas的矢量化字符串函数

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

おすすめ

転載: blog.csdn.net/LivLu24/article/details/94431912