pandas Tutorial [4] データフレームフィルタリングデータ !
2022-01-23 16:45:31
>>> import pandas as pd
>>> import numpy as np
>>> # DataFrame is still used today, if you use its function of filtering data, you will be amazed, it is very good at filtering data, can greatly improve your work efficiency, without further ado, the following look at a few examples of complex data filtering.
>>> # First we create a DataFrame, the DataFrame contains the following data
>>> df=pd.DataFrame(np.random.randn(6,4),columns=list('ABCD'))
>>> df
A B C D
0 -1.108935 1.187163 1.546778 0.246329
1 -0.015045 1.367264 -0.617322 -1.068358
2 0.502788 0.305497 -0.819171 -0.331027
3 2.585354 -0.043285 1.056259 -0.079882
4 0.316549 -1.464567 1.504431 0.803362
5 -1.097251 -0.706594 -1.393058 -0.251690
>>> #If we want to filter the data in column D for rows greater than 0
>>> df[df.D>0]
A B C D
0 -1.108935 1.187163 1.546778 0.246329
4 0.316549 -1.464567 1.504431 0.803362
>>> # Use & symbols can achieve multi-conditional filtering, of course, is to use "|" symbols can also achieve multi-conditional, except that he is the relationship of or.
>>> df[(df.D>0)&(df.C<0)]
Empty DataFrame
Columns: [A, B, C, D]
Index: []
>>> df[(df.D<0)&(df.C>0)]
A B C D
3 2.585354 -0.043285 1.056259 -0.079882
>>> df[(df.D<0.5)&(df.C>1.5)]
A B C D
0 -1.108935 1.187163 1.546778 0.246329
>>> df[(df.D<0.5)|(df.C>1.5)]
A B C D
0 -1.108935 1.187163 1.546778 0.246329
1 -0.015045 1.367264 -0.617322 -1.068358
2 0.502788 0.305497 -0.819171 -0.331027
3 2.585354 -0.043285 1.056259 -0.079882
4 0.316549 -1.464567 1.504431 0.803362
5 -1.097251 -0.706594 -1.393058 -0.251690
>>> df[(df.D<0.5)|(df.C>1.52)]
A B C D
0 -1.108935 1.187163 1.546778 0.246329
1 -0.015045 1.367264 -0.617322 -1.068358
2 0.502788 0.305497 -0.819171 -0.331027
3 2.585354 -0.043285 1.056259 -0.079882
5 -1.097251 -0.706594 -1.393058 -0.251690
>>> # If we only need the data in columns A and B, and the data in columns D and C are used for filtering, we can write it like this: only the data in columns AB are returned
>>> df[['A','B']][(df.D>0)&(df.C<0)]
Empty DataFrame
Columns: [A, B]
Index: []
>>> df[['A','B']][(df.D<0)&(df.C>0)]
A B
3 2.585354 -0.043285
>>> index = (df.D<0)&(df.C>0)
>>> index
0 False
1 False
2 False
3 True
4 False
5 False
dtype: bool
>>> df(index)
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
df(index)
TypeError: 'DataFrame' object is not callable
>>> df[index]
A B C D
3 2.585354 -0.043285 1.056259 -0.079882
>>> # We can also use the insin method to filter for specific values by writing the values to be filtered to a list, such as alist
>>> alist=[-0.079882,0.687050,0.3685412]
>>> df['D'].isin(alist)
0 False
1 False
2 False
3 False
4 False
5 False
Name: D, dtype: bool
>>> alist=[0.246329]
>>> df['D'].isin(alist)
0 False
1 False
2 False
3 False
4 False
5 False
Name: D, dtype: bool
>>> df[df['D'].isin(alist)]
Empty DataFrame
Columns: [A, B, C, D]
Index: []
>>> df=pd.DataFrame(np.random.normal(6,4),columns=list('ABCD'))
Traceback (most recent call last):
File "<pyshell#27>", line 1, in <module>
df=pd.DataFrame(np.random.normal(6,4),columns=list('ABCD'))
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pandas\core\frame.py", line 422, in __init__
raise ValueError('DataFrame constructor not properly called!')
ValueError: DataFrame constructor not properly called!
>>> df=pd.DataFrame(np.range(16).reshape(4,4),columns=list('ABCD'))
>>> df
A B C D
0 0 1 2 3
1 4 5 6 7
2 8 9 10 11
3 12 13 14 15
>>> alist=[11]
>>> df['D'].isin(alist)
0 False
1 False
2 True
3 False
Name: D, dtype: bool
>>> df[df['D'].isin(alist)]
A B C D
2 8 9 10 11
>>>
関連
-
npm install reports error npm WARN tar ENOENT: no such file or directory, open... 解決方法
-
unsigned' の前に期待される一次式 Solution
-
Uncaught SyntaxError: 位置1でJSONの予期しないトークンoは、問題が解決されました。
-
undefinedErrorお使いのCPUは、このTensorFlowバイナリが使用するためにコンパイルされていない命令をサポートしています。AVX2 FMA
-
C#のTask.Delay()とThread.Sleep()
-
IntelliJ IDEAでgitを使用してリモートリポジトリから読み込めなかった問題を解決する
-
デバッグのアサーションに失敗する問題 解決方法
-
liunx, makeでmysqlをインストール *** ターゲットが指定されておらず、makefileも見つかりませんでしたので停止しました。
-
解決方法:コマンドが見つかりません。
-
sql server の int から datetime への変換
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
'node' は内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
-
jsについて Uncaught TypeError: null issue のプロパティ 'style' を読み取ることができません。
-
ante react Warning index.js:1 Warning: findDOMNode is deprecated in StrictMode.findDOMNode は StrictMode では非推奨です。
-
python ランタイムプロンプト WebDriverException: メッセージ geckodriver' 実行ファイルが PATH にある必要があります。
-
tensorflow.contrib'という名前のモジュールはありません。
-
ノード名とサービス名に対する解決策が提供されていない
-
numpy.random.multivariate_normalの使用法
-
error: 'struct proc_dir_entry' has no member named 'owner' Solution
-
TensorFlowのエラー ValueError: xとyは同じサイズでなければならない
-
android:textAlignment パラメータ説明