質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

1回答

666閲覧

python pandas dataframe locについて

ryo123445556

総合スコア6

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2021/08/03 09:34

以下のデータから データを引数に渡してデータ取り出す方法を教えていただきたいです。

data1
__|年齢|性別|出身|
|:--|:--:|--:|
|19960101|24|男|東京
|19960101|36|男|神奈川
|19960102|45|女|埼玉
|19960102|40|男|大阪
|19960103|47|女|東京
|19960103|19|男|埼玉
|19960103|47|女|東京
|19960104|45|女|東京
|19960104|19|男|埼玉
|19960104|23|男|埼玉

上のdataframeの中から理想は

python

1 2a = [19960101, 19960103] 3data2 = data1.loc[a]

aのデータとdata1のindexが一致したデータを抽出したいです。
__|年齢|性別|出身|
|:--|:--:|--:|
|19960101|24|男|東京
|19960101|36|男|神奈川
|19960103|47|女|東京
|19960103|19|男|埼玉

data1のデータが大きいので上記には書けなかったのですが、
上記のpythonコードで一個一個は取り出せます。

for文やpd.concatでやろうとしたのですが、難しくてできませんでした。
教えていただけると嬉しいです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

最初の行のcolumn名を'id'とした場合、以下でできます。

python

1a = [19960101, 19960103] 2print(df[df['id'].apply(lambda x: x in a)])

実行結果

python

1>>> a = [19960101, 19960103] 2>>> print(df) 3 id 年齢 性別 出身 40 19960101 24 男 東京 51 19960101 36 男 神奈川 62 19960102 45 女 埼玉 73 19960102 40 男 大阪 84 19960103 47 女 東京 95 19960103 19 男 埼玉 106 19960103 47 女 東京 117 19960104 45 女 東京 128 19960104 19 男 埼玉 139 19960104 23 男 埼玉 14>>> print(df[df['id'].apply(lambda x: x in a)]) 15 id 年齢 性別 出身 160 19960101 24 男 東京 171 19960101 36 男 神奈川 184 19960103 47 女 東京 195 19960103 19 男 埼玉 206 19960103 47 女 東京

最初の列がindexの場合はまずreset_indexしてから実行してください。

投稿2021/08/03 10:09

編集2021/08/03 10:12
ppaul

総合スコア24666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryo123445556

2021/08/03 10:58

ありがとうございます。 できました、indexを整数型にしてたらlocでもできました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問