【pythonシロ】日常業務におけるいくつかのTIPS(二)
2847 ワード
pandasが直接ファイルを読み取るのは便利ですが、接触したばかりの頃はDataFrame型の行列選択が混乱しやすく、array型の選択と混同されることが多いです.2つの構造の異なる行列操作をまとめた.
行の選択
DataFrame
loc[],iloc[],ix[]を使用して選択できます.
array
それに比べて、マトリクスの操作はずっと便利です.
列の選択
DataFrame
行選択よりも、DataFrame形式の列選択が簡単で、中国語と英語のcolumnは列名で直接選択できます.
columnの名前が複雑で、入力方式を切り替えることが多く不便な場合や、多くの列を選択したい場合は、インデックスで選択できます.pandasここには小さな穴があり、連続列は直接a[1:3]でエラーを報告します.
array
数値処理時のマトリクスの簡便な直感を感じた.
Openpyxlを追加してxlsxファイルの下のデータの選択を開きます.
2つの構造は互いに容易に変換することができ、pd.DataFrame(),np.array()【またはnp.asarray(),両者にわずかな差がある】.手慣れたやり方を選びましょう.
TBC
#
import numpy as np
import pandas as pd
a = np.random.randn(3,4)
a = pd.DataFrame(a)
a.columns=['A','B',' ',' ']
b = np.array(a)
a
Out:
A B
0 -0.111949 0.527505 2.368722 1.224539
1 0.682014 1.437826 0.004001 -0.330349
2 0.716501 -1.719973 0.718745 2.023330
b
Out:
array([[-0.11194892, 0.5275052 , 2.36872241, 1.22453866],
[ 0.68201417, 1.43782573, 0.00400142, -0.33034887],
[ 0.7165014 , -1.71997254, 0.71874518, 2.02332967]])
行の選択
DataFrame
loc[],iloc[],ix[]を使用して選択できます.
# ,
a.loc[1:3]
Out:
A B
1 0.682014 1.437826 0.004001 -0.330349
2 0.716501 -1.719973 0.718745 2.023330
#
a.loc[[1,2]]
Out:
A B
1 0.682014 1.437826 0.004001 -0.330349
2 0.716501 -1.719973 0.718745 2.023330
#
a.ix[[1],[1]]
Out:
B
1 1.437826
array
それに比べて、マトリクスの操作はずっと便利です.
#
b[1:3]
Out:
array([[ 0.68201417, 1.43782573, 0.00400142, -0.33034887],
[ 0.7165014 , -1.71997254, 0.71874518, 2.02332967]])
#
b[[1,2]]
Out:
array([[ 0.68201417, 1.43782573, 0.00400142, -0.33034887],
[ 0.7165014 , -1.71997254, 0.71874518, 2.02332967]])
#
b[1,1]
Out: 1.4378257322265775
列の選択
DataFrame
行選択よりも、DataFrame形式の列選択が簡単で、中国語と英語のcolumnは列名で直接選択できます.
#
a.A
Out:
0 -0.111949
1 0.682014
2 0.716501
Name: A, dtype: float64
a[['B',' ']]
Out:
B
0 0.527505 1.224539
1 1.437826 -0.330349
2 -1.719973 2.023330
columnの名前が複雑で、入力方式を切り替えることが多く不便な場合や、多くの列を選択したい場合は、インデックスで選択できます.pandasここには小さな穴があり、連続列は直接a[1:3]でエラーを報告します.
# ,
a[np.arange(1,3)]
Out:
B
0 0.527505 2.368722
1 1.437826 0.004001
2 -1.719973 0.718745
# ,
a[[1,3]]
Out:
B
0 0.527505 1.224539
1 1.437826 -0.330349
2 -1.719973 2.023330
array
数値処理時のマトリクスの簡便な直感を感じた.
b[:,[1,3]]
Out:
array([[ 0.5275052 , 1.22453866],
[ 1.43782573, -0.33034887],
[-1.71997254, 2.02332967]])
b[[1,2],[1,2]]
Out: array([ 1.43782573, 0.71874518])
Openpyxlを追加してxlsxファイルの下のデータの選択を開きます.
import openpyxl
wb = openpyxl.load_workbook('file path')
sheets = wb.get_sheet_names()
sheet1 = wb.get_sheet_by_name(sheets[0])
sheet1['B1'].value #
sheet1.cell(row=1, column=1).value #
2つの構造は互いに容易に変換することができ、pd.DataFrame(),np.array()【またはnp.asarray(),両者にわずかな差がある】.手慣れたやり方を選びましょう.
TBC