Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
最近、LLMを使ったOSSの中身を調べてLLMとどう連携して目的を達成しているのかをいろいろ調べています。今回はLangChainのPandas Dataframe Agentの中身がどうなっているのか気になったので調べたまとめになります。 今回のコードは以下のところにあるので、全体としてどうなっているのか見たい方はこちらをご覧ください。 https://github.com/shu65/langchain_examples/blob/main/LangChain_Pandas_Dataframe_Agent.ipynb LangChainのPandas Dataframe Agentとは LLMを使いやすくwrapしてくれるLangChainにはいくつかAgentというLLMとToolと呼ばれるものを組み合わせて実行する仕組みが用意されています。この中でもPandas Dataframe
pandasのDataFrameの値を更新する方法がいくつかあるので、後で見返す為にも更新方法をまとめておく。 以下のlocやwhereの他に一括更新の方法がある。 DataFrameの値を更新する方法 pandasのDataFrameの値を更新する方法がいくつかあるが、大きく以下の3つの方法に分けられる。 値を一括代入 条件に合致するカラムを更新 別のDataFrameで上書き 各方法についてDataFrameを用いながら説明する。 import pandas as pd data_list1 = [ [1,2,3], [2,3,4], [3,4,5] ] col_list1 = ["c1","c2","c3"] df1 = pd.DataFrame(data=data_list1, columns=col_list1) print(df1) # c1 c2 c3 # 0 1 2 3 #
There are some ways to update column value of Pandas DataFrame. So I wrote down them for the future reference. I used documents of loc and where below as a reference. There are some ways to update column value of Pandas DataFrame. Common ways are below. Bulk update by single value Update rows that match condition Update with another DataFrame I'll introduce them with using DataFrame sample. import
うわっ…私のpandas、遅すぎ…?って時にやるべきこと(先人の知恵より) こちらに書かれている通り、pandasはたしかに遅い、特に使い方によっては極端に遅い。かといってforループを回避するためにあれこれ読みにくいコードを書きたくない。……だったらJuliaにしたらいいよ! という記事です。 pandasはどのくらい遅いか? 元記事のデータは非公開のコードで加工されたもののようなので、ここでは他の公共データセットのデータを使わせてもらいます。Scikit-learnに入っているCalifornia Housingを使いましょう。約2万件しかデータがないのはちょっと物足りないので10回連結して約20万件に水増しします。 import sklearn from sklearn.datasets import fetch_california_housing import pandas as
はじめに ここ最近、Polarsについて調べる中で色々と面白そうだと思い現在勉強中です。今回の記事では勉強内容の整理も兼ねて、Polarsの特色を紹介できればと思っています。 Polarsとは RustとPythonで使える[1]超高速("Blazingly fast")DataFrameライブラリー、つまりデータ解析に使えるライブラリーとなります。pandasに対するPolars(しろくま)であり洒落ているなと思います。 Core部分はRustで実装されており、インターフェースとしてPythonからも呼び出せるようになっています。RustからPythonパッケージへのビルドはmaturin(PyO3)を使っています。 環境 記事作成時のOSや言語、ライブラリーのバージョンは以下になります。関連が強そうなもののみ抜粋しています。 Ubntu 22.04 Python 3.10.6 (mai
Pandasの DataFrame でSettingWithCopyWarningの警告の意味と対処方法について書きます。 DataFrame使っているとSettingWithCopyWarningによく遭遇していました。その度にその場しのぎの修正をして対応していましたが、さすがにそろそろ根本的に理解しないと時間がもったいないと思い、この記事で整理しました。 公式Pandasのヘルプと偉大な先人が書いてくれた以下の記事が非常にわかりやすいです。この記事では、簡潔に内容を書きます。 結論 結論から先に述べます。 暗黙のCopyをやめる。そのためにChain Indexingをやめる。警告をなくすにはそれだけです。 現象 SettingWithCopyWarningが起こる一例を最初に紹介します。 シンプルなDataFrameを作ります。
When I concatenate pandas DataFrame, column order was changed. I want to keep original column order. Pandas DataFrame is useful for data handling in Python. But when we concatenate DataFrame, sometimes column order changes. If column order is changed, it seems weird. If possible, we want to use original column order. So today I will introduce about "How to keep column order in case of concatenate
概要 機械学習をしていると、データの可視化をしたいことが多く、ときたま画像も入った表を出したくなることがある。 (↓例えばこんなの。画像認識したときのネコである判定スコアとか。) データ可視化はExcelとか、pandasとか使うことが多いが、数値や文字列程度ならいいものの、画像の入った表はパパっと作る方法がすぐには思いつかなかったりする。 今回はpandasのDataFrameを元データとして、画像入りの表をできるだけ簡単に作る方法を検討したので、メモしておく。 今回メモする方法は下記3つ。 1. DataFrame.to_html() を使ってHTMLにする 2. DataFrame.to_dict() とjinja2を使ってHTMLにする 3. DataFrame.to_excel() を使って作ったExcelファイルにopenpyxlで画像を入れる 1. DataFrame.to_
Jupyter Notebook で Pandas のコードを実装しているときに同じような表示関連設定を繰り返し使うため,メモも兼ねてまとめておく.オプションは他にも多くあり,詳細はドキュメントに載っている.今回は Python 3.9 と Pandas 1.2.4 を前提とする. pandas.pydata.org オプション一覧を取得する 🎯 まず,Pandas では options でオプション一覧(名前空間)を取得できる.例えば display など.また options.display でオプション一覧(display 名前空間)を取得できる.例えば chop_threshold や colheader_justify など多くある. dir(pd.options) # ['compute', 'display', 'io', 'mode', 'plotting'] dir(p
はじめに 自己紹介 Python勉強中の大学院生です。自分が詰まったところを記録していきます。 記事を書くに至った経緯 pandasのdataframeの並べ替えをしたいときに、どうやるんだっけと迷うことが多かったので、ここで記事にして整理しようと思いました。 本記事の概要 どんな人に読んでほしいか Pythonのpandasを学び始めた人 pandasのdataframeの並べ替えのやり方をうまく整理できていない人 この記事に書くこと、わかること dataframeの並べ替えのやり方がわかります。具体的なメソッドは以下の2つです。 df.sort_values() (列の要素で並べ替え) df.sort_index()(インデックスで並べ替え) 具体的な方法 まずは適当にdataframeを作成します。
こんにちは、堤です。 前回のブログでLangChainの基本的な使い方を試してみました。 tech.nri-net.com その中で今回はPandas Dataframe Agentを使ってみて、面白いなと思ったので使い方をご紹介します。 Pandas Dataframe Agentとは LangChainにはAgentという要求されたクエリに対して、ToolとLLMを使用しながら繰り返し結果を得て最終的な回答を導き出す機能があります。 python.langchain.com その中でPandas Dataframe AgentはPandasのデータフレームに特化したAgentとなっています。このAgentをつかうことでCSVなどのファイルをPandasで読み込んで分析を行うことができます。 python.langchain.com 試してみる 実際にCSVファイルに対してPandas
I have a pandas dataframe, df: c1 c2 0 10 100 1 11 110 2 12 120 How do I iterate over the rows of this dataframe? For every row, I want to access its elements (values in cells) by the name of the columns. For example: for row in df.rows: print(row['c1'], row['c2']) I found a similar question, which suggests using either of these: for date, row in df.T.iteritems(): for row in df.iterrows(): But I d
In [94]: data = {("japan","male"):[1,2,3], ("japan","female"):[11,12,13], ("u.s.","male"):[2,3,4]} In [94]: data Out[95]: {('japan', 'male'): [1, 2, 3], ('japan', 'female'): [11, 12, 13], ('u.s.', 'male'): [2, 3, 4]} In [96]: df1 = pandas.DataFrame(data) In [97]: df1 Out[97]: japan u.s. male female male 0 1 11 2 1 2 12 3 2 3 13 4 In [98]: df1.columns Out[98]: MultiIndex([('japan', 'male'), ('japan
Pandas is very useful to handle table data. In table data, sometimes it contains None data. In that case we would like to remove None from specific column. So how can we remove None ? Today I will introduce about "How to remove none from pandas DataFrame". How to remove none from pandas DataFrame In order to remove None data, use dropna() method. As its name, dropna() drops None data. We can use i
データを分析する上では、通常は1つのDataFrameだけではなく、複数のDataFrameを組み合わせて、データを確認・分析していく必要があります。その際に必要となるのが、結合の処理です。 DataFrameの結合方法を、データベースにおけるSQLでのテーブルの結合方法に例えると、結合には行単位の連結であるUNION(ユニオン)と、列単位の連結であるJOIN(ジョイン)の2種類があり、それぞれ次のようなものになります。 行単位の連結(UNION):同じ列をもつDataFrameを縦(行を増やす)方向に連結する。列単位の連結(JOIN):結合するキーとなる列を元に、DataFrameを横(列を増やす)方向に連結する。 この記事では、DataFrameの結合方法の1つである列単位の結合(JOIN)について学んでいきましょう。Pandasではmerge()を利用して、DataFrameに対して
pandas.DataFrame is useful to handle table format data. We can import CSV or Excel data into dataframe and summarize it. Then sometimes we want to know dataframe content in progress. So we will do like following. We will use print. But it omits rows and columns when it has a lot of rows and columns. If important parts are omitted, it is hard to test program. How can we print all rows and columns ?
from tabulate import tabulate import pandas as pd from pprint import pprint df = pd.read_csv('small_category.csv', encoding='utf-8-sig') br = '\n' print(br + 'print'.center(20, '=') + br) print(df.head()) print(br + 'pprint'.center(20, '=') + br) pprint(df.head()) print(br + 'tabulate psql'.center(20, '=') + br) print(tabulate(df.head(), headers='keys', tablefmt='psql', numalign='right', stralign=
1. はじめに pandas.DataFrameをExcelのようにGUIで扱えたら便利だと思いませんか? なんとStreamlitではできてしまうみたいです。 まだexperimentalな機能ですが、とても気になったので試してみました。 2. まずはお試し こんな感じのコードを書きます。 import streamlit as st import numpy as np import pandas as pd df = pd.DataFrame(np.arange(12).reshape(4, 3), columns=(f"col{i+1}" for i in range(3))) edited_df = st.experimental_data_editor(df) st.line_chart(edited_df) これを実行してみると編集できました! Command+v もしくは
from __future__ import annotations from enum import auto, Enum, unique class StringEnum(str, Enum): """文字列の列挙型 Note ---- 3.11 で追加された `StrEnum` は `auto()` で `str.lower()` を呼び出すが、 このクラスはそのままの名前を返す """ def _generate_next_value_(name, start, count, last_values): return name def __str__(self): return self.value @classmethod def values(cls) -> list[str]: return [str(i) for i in cls] import pandas as pd
前回はpandasのDataFrameオブジェクトの生成とloc属性/iloc属性と軸ラベル/インデックスを組み合わせて要素を選択する方法について話しました。今回はDataFrameオブジェクトに関するさまざまな情報を調べたり、別の種類のオブジェクトに変換したりするのに使える属性やメソッドを紹介していきます。 DataFrameオブジェクトの要素の型/形状/次元数などを調べるには 本連載の第1回ではheadメソッドなどを紹介しましたが、ここではまずDataFrameオブジェクトそのものについての情報、例えばどんな種類のデータを格納しているのかや、その形状(何行何列のデータなのか)などを調べる方法を紹介します。ここでは以下に示すコードで生成したDataFrameオブジェクトを例に取りましょう。 df = pd.DataFrame([{'name': 'kawasaki', 'age': 80
Introduction I have talked quite a bit about how pandas is a great alternative to Excel for many tasks. One of Excel’s benefits is that it offers an intuitive and powerful graphical interface for viewing your data. In contrast, pandas + a Jupyter notebook offers a lot of programmatic power but limited abilities to graphically display and manipulate a DataFrame view. There are several tools in the
Jupyter Notebook で画像をダウンロードすることなく、URLから参照してPandas DataFrame内部に表示させる 2021-12-28 データ分析などをしていると、画像はダウンロードせずに特定の CDN (GCP なら GCS, AWS なら S3 など)で提供されている画像を参照して、 Jupyter Notebook 上で良い感じに表示させたいときがありませんか? 例えば、画像と説明文がペアになっているデータを画像自体はダウンロードせずに Jupyter 上で画像と説明文を DataFrame として表示させたいときが多々ある。 元の画像自体は CDN に格納されていて、画像をダウンロードする必要はなく参照するだけのときにはすごく便利。 毎度画像を CDN からダウンロードするのも無駄なので、画像を加工せずに Jupyter 上で表示するだけなら、この方法がベスト
2023年4月、pandas 2.0がリリースされた。 What’s new in 2.0.0 (April 3, 2023) — pandas 2.1.0.dev0+766.g935244a9b9 documentation さっそく手元のツール群のバージョンを上げた所、従来append()を使っていた処理が動かなくなりハマった。 pandas.DataFrame.append()が削除 Pandas 1系では、Dataframeに新たな行を追加する関数としてpandas.DataFrame.append()が用意されていた。 import pandas as pd df = pd.DataFrame( { "名前": ["Alice", "Bob", "Charlie", "Dave"], "年齢": [25, 30, 35, 40], "都市": ["東京", "ニューヨーク", "
pandas.DataFrame is useful to handle table format data. With using pandas, we can import CSV or Excel data and join them with common key column. And sometimes you want to get all combination data without any join condition. But how can we get such all combination data. So today I will introduce about "How to get cross join with pandas.DataFrame". pandas.DataFrame "merge" In order to join two DataF
gspread-dataframeライブラリについて日本語の文献が少ないと感じたのでまとめる。 やりたいこと Pythonでgoogleスプレッドシートを操作したい。一度スプレッドシートのデータをpandasのDataframeに入れてから、編集して、それを元のスプレッドシートに反映させたい!イメージは以下 やってみた まずは、読み書きの初期設定。画像付きでわかりやすいサイトがあった。スプレットシートやPythonの初期設定は難なく終った。 そして実際にコピーして、編集して、スプレッドシートに反映させる作業を行った。 とても丁寧なサイトがあり、参考にしてやってみた。スプレッドシートからコピーする作業はそこまで大変ではなさそう。 しかし、再び元のスプレッドシートをコピーする場合、cell_listに全てのセルについて保存してから反映させる。この作業がちょっと複雑そう。 マジギレパンダス そこ
この記事は、DataFrameとして取り込んだ「データ確認」と「データ変換」で使えるカンニングシートです。 必要なライブラリ # 頭の3行を表示 df.head(3) # 最後の4行を表示 df.tail(4) # 2,4,6行目を表示 df.loc[[1,3,5]] # 4~9行目を表示 df.loc[3:8, :] # 条件を指定して合致する行のみを表示する df[df['currency'] == 'USD'] # currencyカラムがUSDの行のみ抽出して表示。 df[df['cost'] > 30000] # costカラムが30000より大きい行のみ抽出して表示。 df[df['point'].isnull()] # pointカラムがブランクの行のみ抽出して表示。
はじめに DataFrameがむずすぎるので取り合えず最低限これだけあればそこそこ操作はできるようになるんじゃないかな?レベルのものをまとめます。(あまりにも自分用ですが、、、) 結論 インポート df = pd.read_csv(filepath,index_col = 0) 要素の取得/操作 df.loc["indexname i":"indexname j","colname k":"colname l"] df.iloc[i:j,k:l] 要素の条件抽出 df_condition = df.loc[:,"a"] > 1 df = df[df_condition] index,column名の取得/操作 df.index df.columns index追加 df = pd.concat([df,df_add]) column追加 df["newcol"] = list index,
「pandas float int 変換」で検索する人が結構いるので、まとめておきます。 準備 1列だけをfloatからintに変換する 複数列をfloatからintに変換する すべての列をfloatからintに変換する 文字列とかがある場合は? NaNを含む場合は? int型で欠損値をNaNのままで扱う方法は 何でみんなこれで検索してるのか(read_csvでfloatになってしまった?) 準備 import pandas as pd import numpy as np pd.options.display.notebook_repr_html = False # jupyter notebook上での出力形式を制御するために書いています。無くても動きます。 # 動作環境の確認 print(pd.__version__) print(np.__version__) # --------
pandasでDataFrameの行・列を任意の順番に並べ替えるにはreindex()を使う。Seriesにも同様のメソッドがある。ラベル(行名・列名)のリストを指定する。 pandas.DataFrame.reindex — pandas 2.1.4 documentation pandas.Series.reindex — pandas 2.1.4 documentation 別のDataFrameの行・列と同じように並べるreindex_like()というメソッドもある。 pandas.DataFrame.reindex_like — pandas 2.1.4 documentation pandas.Series.reindex_like — pandas 2.1.4 documentation いずれのメソッドでも、既存の行・列を並べ替えるだけでなく、新たな行・列を追加することが
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く