ホームページ  >  記事  >  バックエンド開発  >  Python データ視覚化を学習するための良い例を共有してください。

Python データ視覚化を学習するための良い例を共有してください。

WBOY
WBOY転載
2023-04-25 23:04:05950ブラウズ

Python データ視覚化を学習するための良い例を共有してください。

皆さんこんにちは、私はブラザーJです。 (記事の最後に記載されています)

ビジュアライゼーションを使用してグラフを探索する

1. データのビジュアライゼーションとグラフの探索

データのビジュアライゼーションとは、グラフィックまたはテーブルを使用して、現在のデータ。グラフはデータの性質と、データまたは属性間の関係を明確に表現できるため、グラフの解釈が容易になります。 Exploratory Graph を通じて、ユーザーはデータの特性を理解し、データの傾向を見つけ、データを理解するための敷居を下げることができます。

2. 一般的なチャートの例

この章では、Matplotlib モジュールを使用するのではなく、主に Pandas を使用してグラフィックを描画します。実際、Pandas は Matplotlib の描画メソッドを DataFrame に統合しているため、実際のアプリケーションでは、ユーザーは描画作業を完了するために Matplotlib を直接参照する必要はありません。

1. 折れ線グラフ

折れ線グラフは最も基本的なグラフで、さまざまなフィールドの連続データ間の関係を表すために使用できます。折れ線グラフを描画するにはplot.line()メソッドを使用し、色や形状などのパラメータを設定できます。使用に関しては、分割線図を描画するメソッドは Matplotlib の使用法を完全に継承しているため、図 8.4 に示すように、プログラムは最後に plt.show() を呼び出して図を生成する必要もあります。

df_iris[['sepal length (cm)']].plot.line()
plt.show()
ax = df[['sepal length (cm)']].plot.line(color='green',title="Demo",style='--')
ax.set(xlabel="index", ylabel="length")
plt.show()

Python データ視覚化を学習するための良い例を共有してください。

2. 散布図

散布図は、さまざまなフィールドの離散データ間の関係を表示するために使用されます。図 8.5 に示すように、散布図は df.plot.scatter() を使用して描画されます。

df = df_iris
df.plot.scatter(x='sepal length (cm)', y='sepal width (cm)')
from matplotlib import cm
cmap = cm.get_cmap('Spectral')
df.plot.scatter(x='sepal length (cm)',
y='sepal width (cm)',
s=df[['petal length (cm)']]*20,
c=df['target'],
cmap=cmap,
title='different circle size by petal length (cm)')

Python データ視覚化を学習するための良い例を共有してください。

3. ヒストグラムと棒グラフ

ヒストグラム グラフは通常、連続データの分布を示すために同じ列で使用されます。ヒストグラムは棒グラフであり、図 8.6 に示すように、同じ列を表示するために使用されます。

df[['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)','petal width (cm)']].plot.hist()
2 df.target.value_counts().plot.bar()

Python データ視覚化を学習するための良い例を共有してください。

4. 円グラフ、箱グラフ

円グラフを使用すると、同じ列に各カテゴリの割合を表示できます。図 8.7 に示すように、チャート (ボックス チャート) は、同じフィールドを表示したり、異なるフィールドのデータの分布の違いを比較したりするために使用されます。

df.target.value_counts().plot.pie(legend=True)
df.boxplot(column=['target'],figsize=(10,5))

Python データ視覚化を学習するための良い例を共有してください。

データ探索の実践的な共有

このセクションでは、2 つの実際のデータ セットを使用して、データ探索のいくつかの方法を実際に示します。

1. 2013 年アメリカ コミュニティ調査

アメリカ コミュニティ調査では、毎年約 350 万世帯に、自分たちが誰なのか、どのように暮らしているのかについて詳細な情報を尋ねています。この調査は、祖先、教育、仕事、交通、インターネットの使用、住居などの多くのトピックをカバーしています。

データ ソース: https://www.kaggle.com/census/2013-american-community-survey。

データ名: 2013年アメリカ社会調査。

まず、データの外観と特性、および各フィールドの意味、タイプ、範囲を観察します。

# 读取数据
df = pd.read_csv("./ss13husa.csv")
# 栏位种类数量
df.shape
# (756065,231)
# 栏位数值范围
df.describe()

まず、2 つの ss13pusa.csv を接続します。このデータには、SCHL (学校レベル)、PINCP (収入)、ESR (勤務状況) の 3 つのフィールドと合計 300,000 個のデータが含まれています。

pusa = pd.read_csv("ss13pusa.csv") pusb = pd.read_csv("ss13pusb.csv")
# 串接两份数据
col = ['SCHL','PINCP','ESR']
df['ac_survey'] = pd.concat([pusa[col],pusb[col],axis=0)

データを学歴別にグループ化し、異なる学歴を持つ数字の割合を観察し、平均収入を計算します。

group = df['ac_survey'].groupby(by=['SCHL']) print('学历分布:' + group.size())
group = ac_survey.groupby(by=['SCHL']) print('平均收入:' +group.mean())

2. ボストン住宅データセット

ボストン住宅価格データセットには、506 のデータ サンプルと 13 の特徴ディメンションを含む、ボストン地域の住宅に関する情報が含まれています。

データ ソース: https://archive.ics.uci.edu/ml/machine-learning-databases/housing/。

データ名: ボストン住宅価格データセット。

まず、データの外観と特性、および各フィールドの意味、タイプ、範囲を観察します。

住宅価格の分布 (MEDV) は、図 8.8 に示すように、ヒストグラムの形式で描画できます。

df = pd.read_csv("./housing.data")
# 栏位种类数量
df.shape
# (506, 14)
#栏位数值范围df.describe()
import matplotlib.pyplot as plt
df[['MEDV']].plot.hist()
plt.show()

Python データ視覚化を学習するための良い例を共有してください。

注: 画像内の英語は、コードまたはデータ内で作成者が指定した名前に対応しています。実際には、読者は必要な単語に置き換えることができます。

次に知っておく必要があるのは、どのディメンションが明らかに「住宅価格」に関連しているかということです。まず、図 8.9 に示すように、散布図を使用してそれを観察します。

rreeee

Python データ視覚化を学習するための良い例を共有してください。

最后,计算相关系数并用聚类热图(Heatmap)来进行视觉呈现,如图 8.10 所示。

# compute pearson correlation
corr = df.corr()
# drawheatmap
import seaborn as sns
corr = df.corr()
sns.heatmap(corr)
plt.show()

Python データ視覚化を学習するための良い例を共有してください。

颜色为红色,表示正向关系;颜色为蓝色,表示负向关系;颜色为白色,表示没有关系。RM 与房价关联度偏向红色,为正向关系;LSTAT、PTRATIO 与房价关联度偏向深蓝, 为负向关系;CRIM、RAD、AGE 与房价关联度偏向白色,为没有关系。

声明:本文选自清华大学出版社的《深入浅出python数据分析》一书,略有修改,经出版社授权刊登于此。

以上がPython データ視覚化を学習するための良い例を共有してください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。