21.07.19データフレームグループby()
データフレーム?
カラム形式で作成されたシリーズのデータは、テーブルの構造の形式として作成されます.
ディレクトリ、リスト、凡例など、さまざまなデータ型が用意されています.
グループ演算
groupby
1つのカラムに基づいてデータを統計および要約できます.
使用方法は次のとおりです.
DataFrame.groupby('columns')
タイタニック号というデータフレームの中で
年齢別グループで結果を表示titanic.groupby('age')
タイタニック号というデータフレームの中で
ルームレベル別データの表示titanic.groupby(coulumns)
グループ演算
1.平均/平均()の使用
タイタニック号のデータフレームの中で各グループの列の平均値を求めます.
まず、classパケットデータフレーム()に基づいてgrouped = df.groupby(['class])
print(grouped)
#class는 예약어이기 때문에 level등으로 컬럼 이름을 바꿔서 사용하는 것을 추천합니다.
classベースgroupby()
平均値average = grouped.mean()
average
2.使用統計/説明()
titanic.groupby('age')
titanic.groupby(coulumns)
grouped = df.groupby(['class])
print(grouped)
#class는 예약어이기 때문에 level등으로 컬럼 이름을 바꿔서 사용하는 것을 추천합니다.
average = grouped.mean()
average
したがって、まずリスト別にグループ化されたオブジェクトをリストにグループ化します.
list(grouped)
2.describeの使用インデックスによる場所の指定
li = list(grouped)
li[2][1].describe()
a = grouped.groups['Third]
group3 = df.loc[a]
group3.describe()
group3 = grouped.get_group('Third')
group3.describe()
grouped_two = df.groupby(['age','class'])
grouped_two.describe()
for key, group in grouped_two:
print('*key:', key)
print('*value :', group)
print(grouped_two.describe)
指定した行の値のみ抽出
-Thirdの女性情報のみ表示
group3 = grouped_two.get_group(('Third', 'female'))
group3
またgroupby()も使用できます実行可能な演算について説明しましょう.
適用→結合
データ集約(agg集約)
遷移(transform)
ろ過
アプリケーションは値に個別に適用されます
に質問
aggを使用して、最大値から最小値を減算する関数を作成します。
def z(x):
return x.max - x.min
y = grouped.agg(z)
display(y.head())
問題のフィルタリング
200以上のデータがある場合は、グループのみをフィルタしてデータフレームに戻し、group filter名として保存し、最初の5行を出力します。
条件をグループに適用するfilter関数を使用します.
使用法:groupオブジェクト.ろ過器(条件関数式)
grouped = df.groupby('class')
x = grouped.filter(lambda x: x >= 200)
print(x.head())
Reference
この問題について(21.07.19データフレームグループby()), 我々は、より多くの情報をここで見つけました https://velog.io/@rokomoko/21.07.19데이터-프레임-groupbyテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol