タグ

ブックマーク / note.nkmk.me (6)

  • pandas.DataFrameにおけるビューとコピー | note.nkmk.me

    pandasのDataFrameにもNumPy配列ndarrayと同様にビュー(view)とコピー(copy)がある。 loc[]やiloc[]などでDataFrameの一部を選択して新たなDataFrameを生成する場合、元のオブジェクトとメモリを共有するオブジェクトをビュー、元のオブジェクトと別に新たにメモリを確保するオブジェクトをコピーという。 ビューは共通のメモリを参照するので、一方のオブジェクトの要素の値を変更すると他方の値も変更される。 NumPy配列ndarrayにおけるビューとコピーについては以下の記事を参照。記事のサンプルコードで使用しているnp.shares_memory()についても紹介している。 関連記事: NumPy配列ndarrayのビューとコピー(メモリの共有) 記事のサンプルコードのpandasとNumPyのバージョンは以下の通り。バージョンによって仕様

    pandas.DataFrameにおけるビューとコピー | note.nkmk.me
    yyamano
    yyamano 2023/02/15
  • pandasのSettingWithCopyWarningの対処法 | note.nkmk.me

    pandasで頻出の警告にSettingWithCopyWarningがある。エラーではなく警告なので処理が止まることはないが、放置しておくと予期せぬ結果になってしまう場合がある。 SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead loc[]やiloc[]、コピーやビューなどについての詳細は以下の記事を参照。 関連記事: pandasで任意の位置の値を取得・変更するat, iat, loc, iloc 関連記事: pandas.DataFrameにおけるビューとコピー なお、あまりおすすめしないが、警告はPythonの標準ライブラリwarningsモ

    pandasのSettingWithCopyWarningの対処法 | note.nkmk.me
    yyamano
    yyamano 2023/02/13
  • Pythonのdocstring(ドキュメンテーション文字列)の書き方 | note.nkmk.me

    Pythonでは、関数やクラスなどの定義の先頭に記述された文字列が、docstring(ドックストリング、ドキュメンテーション文字列)として扱われる。 IDEやエディタによってはキーボードショートカットでdocstringを表示させて内容を確認できる。またPyCharmなどでは、docstringの情報をもとに静的解析して警告を出してくれる。

    Pythonのdocstring(ドキュメンテーション文字列)の書き方 | note.nkmk.me
    yyamano
    yyamano 2022/11/17
  • pandasでstack, unstack, pivotを使ってデータを整形 | note.nkmk.me

    pandasのstack(), unstack(), pivot()はデータのピボット処理を行うメソッド。 列方向に並んだデータを行方向に並べ替えたり、行方向に並んだデータを列方向に並べ替えたりして、データの構造を再形成できる。 long型(積み上げ型、縦型、縦持ち)とwide型(横型、横持ち)のデータ構造を相互に変換することが可能。 Reshaping and Pivot Tables — pandas 0.23.0 documentation pandas.DataFrame.stack — pandas 0.23.0 documentation pandas.DataFrame.unstack — pandas 0.23.0 documentation pandas.DataFrame.pivot — pandas 0.23.0 documentation ここでは以下の内容について

    pandasでstack, unstack, pivotを使ってデータを整形 | note.nkmk.me
    yyamano
    yyamano 2022/11/15
  • NumPy配列ndarrayの次元をEllipsis(...)で省略して指定 | note.nkmk.me

    NumPy配列ndarrayのインデックス[]で範囲を指定するときにPythonの組み込み定数Ellipsis(3点ドット...)を使うと途中の次元を省略して指定できる。

    NumPy配列ndarrayの次元をEllipsis(...)で省略して指定 | note.nkmk.me
    yyamano
    yyamano 2022/10/24
  • pandasでCSV/TSVファイル読み込み(read_csv, read_table) | note.nkmk.me

    pandasでCSVファイルやTSVファイルをDataFrameとして読み込むにはread_csv()を使う。 pandas.read_csv — pandas 2.0.3 documentation IO tools (text, CSV, HDF5, …) - CSV & text files — pandas 2.0.3 documentation CSVファイルへの書き込み・追記については以下の記事を参照。 関連記事: pandasでCSVファイルの書き込み・追記(to_csv) pandasでのExcel, JSON, pickleファイルの読み書き(入出力)については以下の記事を参照。 関連記事: pandasでExcelファイル(xlsx, xls)の読み込み(read_excel) 関連記事: pandasでExcelファイル(xlsx, xls)の書き込み(to_exce

    pandasでCSV/TSVファイル読み込み(read_csv, read_table) | note.nkmk.me
    yyamano
    yyamano 2022/10/12
  • 1