ホームページ  >  記事  >  バックエンド開発  >  Python データ処理の簡単な分析

Python データ処理の簡単な分析

不言
不言オリジナル
2018-05-02 13:46:241701ブラウズ

この記事では、Python データ処理に関する関連コンテンツと重要な説明を共有します。この知識ポイントに興味のある友人は参照してください。

NumpyとPandasはPythonのデータ処理でよく使われるフレームワークで、どちらもC言語で書かれているので動作速度が速いです。 Matplotlib は、画像を通じて以前に処理されたデータを描画できる Python 描画ツールです。私は以前に構文を見ただけで、体系的に学習してまとめたものではありません。このブログ投稿では、これら 3 つのフレームワークの API を要約します。

以下は、これら 3 つのフレームワークの簡単な紹介と違いです:

  • Numpy: データ生成と一部​​の操作によく使用されます

  • Pandas: Numpy に基づいて構築され、Numpy のアップグレードされたバージョンです

  • Matplotlib : Python の強力な描画ツール

Numpy

Numpy クイックスタートチュートリアルは次を参照してください: Numpy チュートリアル

Numpy プロパティ

ndarray.ndim: 寸法

ndar ray.shape: 数行と列の数値 (3, 5)

ndarray.size: 要素の数

ndarray.dtype: 要素の型

Numpy の作成

array(object, dtype=None): use Pythonのリストやタプルでデータを作成

zeors(shape, dtype=float): 全て0のデータを作成

ones(shape, dtype=None): 全て1のデータを作成

empty(shape, dtype=float) ) : 初期化せずにデータを作成します

arange([start, ]stop, [step, ]dtype=None): 固定間隔のデータセグメントを作成します

linspace(start, stop, num=50, dtype=None):与えられた範囲内で均等にデータを作成します

Numpy演算

足し算と引き算: a + b、a - b

乗算: b*2, 10*np.sin(a)

タイムスクエア: b**2

判定: a<35、TrueまたはFalseの配列を出力

行列乗算: np.dot(A,B) or A.dot(B)

その他: +=、- +、sin、cos、exp

Numpyインデックス

配列のインデックス付け方法: A[1, 1]

スライス: A[1, 1:3]

反復: A.フラットの項目用

Numpy Others

reshape(a, newshape): 元のデータを変更せずにデータの形状を変更し、新しいデータセットを返します

resize(a, new_shape): データの形状を変更します、元のデータを変更せずにデータを返さずに変更を加える

ravel(a): 1次元で返す

vstack(tup): 上下を結合

hstack(tup): 左右を結合

hsplit(ary, indices_or_sections): 水平方向に n 個のパーツを分割します

vsplit(ary, indices_or_sections): 垂直方向に n 個のパーツを分割します

copy(a): ディープ コピー

Pandas

Pandas のクイック スタート チュートリアルは、以下を参照できます: 10パンダまでの分

パンダのデータ構造

パンダには、Series と DataFrame の 2 つのデータ構造があります。

シリーズ: 左側にインデックス、右側に値。作成方法は以下の通りです:

In [4]: s = pd.Series([1,3,5,np.nan,6,8])
In [5]: s
Out[5]: 
0  1.0
1  3.0
2  5.0
3  NaN
4  6.0
5  8.0
dtype: float64

DataFrame: 行インデックスと列インデックスの両方を持つ表形式のデータ構造であり、Series で構成される大きな辞書とみなすことができます。作成方法は以下の通りです:

In [6]: dates = pd.date_range(&#39;20130101&#39;, periods=6)

In [7]: dates
Out[7]: 
DatetimeIndex([&#39;2013-01-01&#39;, &#39;2013-01-02&#39;, &#39;2013-01-03&#39;, &#39;2013-01-04&#39;,
        &#39;2013-01-05&#39;, &#39;2013-01-06&#39;],
       dtype=&#39;datetime64[ns]&#39;, freq=&#39;D&#39;)

In [8]: df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list(&#39;ABCD&#39;))

Pandasビューデータ

index:インデックス

columns:列インデックス

values:値

head(n=5):先頭を返すn件のデータ

tail(n=5): 最後のn件のデータを返す

describe(): データの個数、平均などを出力

sort_index(axis=1, ascending =False): インデックスに従ってソート

sort_values(by='B'): インデックス値に従ってソート

Pandasデータ選択

配列選択方法: df['A']

スライス選択メソッド: df[0:3] または df ['20130102':'20130104']

ラベルに従って選択: df.loc['20130102':'20130104',['A','B']]

ポジション別選択: df.iloc[3 :5,0:2]

混合選択: df.ix[:3,['A','C']]

条件判定選択: df [df.A > 0]

Pandas 欠落データを処理します

欠落データのある行を削除します: df.dropna(how='any')

欠落データを埋める: df.fillna(value=5)

データ値がNaNかどうか: pd.isna( df1)

Pandas merge data

pd.concat([df1, df2, df3], axis=0): merge df

pd.merge( left, right, on='key'): キーに基づいてフィールドを結合

df.append(s,ignore_index=True): データを追加

Pandas のインポートとエクスポート

df.to_csv('foo.csv '): csv ファイルに保存

pd.read_csv(' foo.csv'): csv ファイルから読み取り

df.to_excel('foo.xlsx',sheet_name='Sheet1'): Excel ファイルに保存

pd.read_excel('foo.xlsx', 'Sheet1 ',index_col=None, na_values=['NA']): Excel ファイルから読み取ります

Matplotlib

ここでは、プロットする最も簡単な方法のみを紹介します。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 随机生成1000个数据
data = pd.Series(np.random.randn(1000),index=np.arange(1000))
# 为了方便观看效果, 我们累加这个数据
data.cumsum()
# pandas 数据可以直接观看其可视化形式
data.plot()
plt.show()

関連する推奨事項:

Python ログの構成ファイルのパスの問題についての簡単な説明

以上がPython データ処理の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。