ホームページ  >  記事  >  バックエンド開発  >  pandas+dataframe は行と列の選択とスライス操作を実装します

pandas+dataframe は行と列の選択とスライス操作を実装します

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-12 09:57:354575ブラウズ

今回は、行選択とスライス操作を実装するための pandas+dataframe について説明します。行選択とスライス操作を実装するために pandas+dataframe が実装する 注意事項 とは何ですか。以下は実際的なケースです。

SQL の選択は列の名前に基づいて行われます。Pandas は列名に基づいて選択できるだけでなく、

位置 (どの行と列にあるかに注意してください) にも基づいて選択できます。 pandas の行と列への位置は 0 から選択されます)。関連する 関数は次のとおりです。

1) loc、列ラベルに基づいて、特定の行を選択できます (行インデックスに基づいて)

2) iloc、行/列の位置に基づいて。

3) at、指定された行インデックスと列ラベルに基づいて、DataFrame の要素をすばやく見つけます。

4) iat、位置に従って配置される点を除き、at と同様です。

5) ix、混合。 loc と iloc の、ラベルと位置の両方をサポートします

インスタンス

import pandas as pd
import numpy as np
df = pd.DataFrame({'total_bill': [16.99, 10.34, 23.68, 23.68, 24.59],
          'tip': [1.01, 1.66, 3.50, 3.31, 3.61],
          'sex': ['Female', 'Male', 'Male', 'Male', 'Female']})
# data type of columns
print df.dtypes
# indexes
print df.index
# return pandas.Index
print df.columns
# each row, return array[array]
print df.values
print df
rreee
sex      object
tip      float64
total_bill  float64
dtype: object
RangeIndex(start=0, stop=5, step=1)
Index([u'sex', u'tip', u'total_bill'], dtype='object')
[['Female' 1.01 16.99]
 ['Male' 1.66 10.34]
 ['Male' 3.5 23.68]
 ['Male' 3.31 23.68]
 ['Female' 3.61 24.59]]
   sex  tip total_bill
0 Female 1.01    16.99
1  Male 1.66    10.34
2  Male 3.50    23.68
3  Male 3.31    23.68
4 Female 3.61    24.59
print df.loc[1:3, ['total_bill', 'tip']]
print df.loc[1:3, 'tip': 'total_bill']
print df.iloc[1:3, [1, 2]]
print df.iloc[1:3, 1: 3]

間違った表現: rrree

  total_bill  tip
1    10.34 1.66
2    23.68 3.50
3    23.68 3.31
  tip total_bill
1 1.66    10.34
2 3.50    23.68
3 3.31    23.68
  tip total_bill
1 1.66    10.34
2 3.50    23.68
  tip total_bill
1 1.66    10.34
2 3.50    23.68
print df.loc[1:3, [2, 3]]#.loc仅支持列名操作
KeyError: 'None of [[2, 3]] are in the [columns]'
print df.loc[[2, 3]]#.loc可以不加列名,则是行选择
  sex  tip total_bill
2 Male 3.50    23.68
3 Male 3.31    23.68
print df.iloc[1:3]#.iloc可以不加第几列,则是行选择
sex  tip total_bill
1 Male 1.66    10.34
2 Male 3.50    23.68
print df.iloc[1:3, 'tip': 'total_bill']
TypeError: cannot do slice indexing on <class &#39;pandas.indexes.base.Index&#39;> with these indexers [tip] of <type &#39;str&#39;>
print df.at[3, 'tip']
print df.iat[3, 1]
print df.ix[1:3, [1, 2]]
print df.ix[1:3, ['total_bill', 'tip']]

この記事の事例を読んだあなたはその方法をマスターしたと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事にご注目ください。

推奨読書:

パンダのデータフレームクエリのメソッドとは何ですか

Selenium+Cookieスキップ検証コードログイン実装のステップバイステップ説明

以上がpandas+dataframe は行と列の選択とスライス操作を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。