前の段階では、公開番号は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
生データ:
読んだ後のデータ:
read_csvに加えて、読み取り操作も実行できる一般的に使用されるread_table関数もあり、その使用法はread_csvと同様です。
2.インデックス値を変更して、データの最初の数行のみを表示します
set_index()関数は、インデックス値を変更するために使用されます。置換を示すには、パラメーターreplace = Trueを追加する必要があることに注意してください。head(n)関数を使用して、データの最初のn行のみを表示します。
users.set_index('user_id',inplace = True)
users.head(25)
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']]
データの複数の列を同時に選択する場合
1、users [['列名1'、 '列名2']];
users[['occupation','age']]
2、users.loc [:、['列名1'、 '列名2']];
users.loc[:,['occupation','age']]
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()
もちろん、すべての列をカウントし、パラメータinclude = 'all';を追加することもできます。
users.describe(include = 'all')
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()
許可された操作のための他の機能があります、
詳細については、公式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)
9.新しい列を作成します
新しい列を追加するのは比較的簡単です。シリーズを作成し(行の数は元のリストデータの行の数と一致している必要があります)、ソースデータに値を割り当てます。
data ['column name'] =新しく作成されたシリーズ;以下では、ageでデータを正規化し、新しい列age_normalizeにデータを格納するために使用します
10.指定した列を削除します
drop()関数を使用して、ソースデータの指定された列を削除します
users.drop(['age'],axis = 1)
ここでの軸は、削除する行または列を表します。デフォルトは0、0は行、1は列を表します。次のコマンドを直接使用することもできます。
users.drop(columns =['age'])