パンダのデータ処理(1)-習得するためのいくつかの簡単な関数!

前の段階では、公開番号はOpenCVのいくつかの小さなケースを更新しました。次の期間では、公開番号はPandas、Numpy、Matplotlibでのデータ処理と視覚化に焦点を当てる予定です。Python自動化オフィスに関する記事もあります。記事、ツイートの方向性について何か提案があれば、下のコメントに投稿するか、バックグラウンドでプライベートメッセージを送ってください。

Pandasにとって、Pythonデータ処理に触れたことのある人なら誰でも知っているはずです。これは、データ処理に不可欠なパッケージです。最も効率的な機能は、この記事でケーススタディを通じてPandasの基本的な使用法を紹介することです。

1.データを読み込む

ほとんどのデータはread_csv()関数で読み込むことができます。関数にはデータの区切り文字を表すsepパラメーターがあります。デフォルトは "、"です(ほとんどのcsvファイルデータは "で区切られているため)

users = pd.read_csv("https://raw.githubusercontent.com/justmarkham/DAT8/master/data/u.user",
                   sep = '|')# Read data;
users

生データ:

Snipaste_2020-06-13_08-22-39.png

読んだ後のデータ:

Snipaste_2020-06-13_08-26-03.png

read_csvに加えて、読み取り操作も実行できる一般的に使用されるread_table関数もあり、その使用法はread_csvと同様です。

2.インデックス値を変更して、データの最初の数行のみを表示します

set_index()関数は、インデックス値を変更するために使用されます。置換を示すには、パラメーターreplace = Trueを追加する必要があることに注意してください。head(n)関数を使用して、データの最初のn行のみを表示します。

users.set_index('user_id',inplace = True)
users.head(25)

Snipaste_2020-06-13_08-26-13.png

tail(n)は、データの最後の数行のみを表示します。

3.データの行と列の基本情報を表示します

1. Shapeは、データの行と列の数をタプル形式で返します。

users.shape

# (943, 4)

2. Columnsは、データ列の名前を返します。

users.columns

# Index(['age', 'gender', 'occupation', 'zip_code'], dtype='object')

3.インデックスは行名を返します。

users.index

Int64Index([  1,   2,   3,   4,   5,   6,   7,   8,   9,  10,
            ...
            934, 935, 936, 937, 938, 939, 940, 941, 942, 943],
           dtype='int64', name='user_id', length=943)

4. dtypesは、各列のデータ型を返します。

users.dtypes


# age            int64
gender        object
occupation    object
zip_code      object
dtype: object

4.1つ以上のデータ列のみを選択します

Pandasには、さまざまな選択方法があります。注:ユーザーとは、Pandasが処理できるDataFrame形式を意味します。

1、ユーザー。列名。

users.occupation

2.ユーザー[['列名']];

users[['occupation']]

3. Users.loc [:、['列名']];

users.loc[:,['occupation']]

Snipaste_2020-06-13_10-39-00.png

データの複数の列を同時に選択する場合

1、users [['列名1'、 '列名2']];

users[['occupation','age']]

2、users.loc [:、['列名1'、 '列名2']];

users.loc[:,['occupation','age']]

Snipaste_2020-06-13_20-49-34.png

5.列のデータの重複排除統計

1.列name.nunique()データの列内の一意のサンプルの数を表示します。

users.occupation.nunique()


# 21

この方法でも達成できます

列名.value_counts()。count()

users.occupation.value_counts().count()


# 21

1に基づいて、各一意のサンプルがデータリストに表示された回数を確認する場合は、次のステートメントを使用できます。

users。列名.value_counts()

users.occupation.value_counts().head()


# student          196
other            105
educator          95
administrator     79
engineer          67
Name: occupation, dtype: int64

6.データリストの数値列に簡単な統計を作成します

users.describe()を実行できます。デフォルトの統計は数値列です(列のデータは数値で表示されます)

users.describe()

Snipaste_2020-06-13_20-49-55.png

もちろん、すべての列をカウントし、パラメータinclude = 'all';を追加することもできます。

users.describe(include = 'all')

Snipaste_2020-06-13_20-50-02.png

users.Column name.describe()は、指定された列の統計を実行することもできます。

users.occupation.describe()

#count         943
unique         21
top       student
freq          196
Name: occupation, dtype: object

7.データをグループ化してクラスター化します

groupby関数は、列に対してクラスタリング操作を実行し、GroupByオブジェクトを返します。5のメソッドと同様に、groupbyは、クラスター化された列を参照として使用して、他の列のデータ統計を表示する点が異なります。

c =users.groupby("occupation")
c

# <pandas.core.groupby.generic.DataFrameGroupBy object at 0x0000017673002788>

GroupBy.head(n)データの最初のn行を表示する

c.head(5)

GroupBy.cout()は、他の列に対応する各サンプルのデータ統計を実行します

c.count()

GroupBy.size()は、列内の各サンプルの出現回数をカウントします

c.size()

許可された操作のための他の機能があります、

Snipaste_2020-06-13_10-33-50.png

詳細については、公式Webサイトにアクセスしてください:https://pandas.pydata.org/docs/reference/groupby.html

8.特定の列に従ってデータを並べ替えます

data.sort_values()関数を使用します。デフォルトはsmallからlargeです。ascending= Falseを設定して、largeからsmallに設定できます。

users.sort_values(["age"],ascending = False)

複数の列を参照して並べ替えることもできます。

users.sort_values(["age","zip_code"],ascending = False)

double_columns_sort.png

9.新しい列を作成します

新しい列を追加するのは比較的簡単です。シリーズを作成し(行の数は​​元のリストデータの行の数と一致している必要があります)、ソースデータに値を割り当てます。

data ['column name'] =新しく作成されたシリーズ;以下では、ageでデータを正規化し、新しい列age_normalizeにデータを格納するために使用します

Snipaste_2020-06-13_10-57-10.png

10.指定した列を削除します

drop()関数を使用して、ソースデータの指定された列を削除します

users.drop(['age'],axis = 1)

ここでの軸は、削除する行または列を表します。デフォルトは0、0は行、1は列を表します。次のコマンドを直接使用することもできます。

users.drop(columns =['age'])

drop_columns.png

おすすめ

転載: blog.csdn.net/weixin_42512684/article/details/107081897