Pythonのお勉強 Part56at TECH
Pythonのお勉強 Part56 - 暇つぶし2ch1014:デフォルトの名無しさん
18/06/23 16:10:27.80 DBg92xTr.net
pandasで作ったデータフレームと、setの配列?があります
このデータフレームの特定の列の内容がsetに含まれているかどうか(含まれていなかったら抜き出す)
を行いたいのですが、どうすれば良いのでしょうか?
調べたらmapでlambdaを使って自作関数で存在checkしたら良さそうだと思ったのですが、lambda使ったことがないので存在checkする方法がわからないです
また、lambdaを使うよりも高速な方法があるなら教えてほしいです

データフレーム
Title Rate Title en
時をかける少女 4 TOKIKAKE
トトロ 5 TOTORO
スパイダーマン 5 Spider-Man
君の名は 4 KIMI
set
{"TOKIKAKE", Spider-Man}
抜き出したいもの
["TOTORO", "KIMI"] or {"TOTORO", "KIMI"}

1015:デフォルトの名無しさん
18/06/23 18:22:12.28 Wcs6EXFh.net
>>983
これはどうかな?
URLリンク(ideone.com)
もしくはこう
>>> s = {"TOKIKAKE", "Spider-Man"}
>>>
>>> d = [['時をかける少女', 4, 'TOKIKAKE'], ['トトロ', 5, 'TOTORO'], ['スパイダーマン', 5, 'Spider-Man'], ['君の名は', 4, 'KIMI']]
>>>
>>> [x[-1] for x in d if x[2] not in s]
['TOTORO', 'KIMI']
>>>

1016:デフォルトの名無しさん
18/06/23 18:30:51.71 SGamcXAQ.net
data = [["時をかける少女4",4,"TOKIKAKE"],["トトロ",5,"TOTORO"],["スパイダーマン",5,"Spider-Man"],["君の名は",4,"KIMI"]]
setA = {"TOKIKAKE","Spider-Man"}
が与えられていると仮定すると
setB = {x[2] for x in data if x[2] not in setA}

1017:デフォルトの名無しさん
18/06/23 18:44:44.45 SGamcXAQ.net
setB = {x[2] for x in data} - setA
でもいけるか
どれが早いかは知らない

1018:デフォルトの名無しさん
18/06/23 19:44:42.04 FkGFATaW.net
>>984-986
ありがとうございます
上手く動きました
csvのデータが1000件くらいなら速度は誤差の範囲でした…

1019:デフォルトの名無しさん
18/06/23 19:49:32.80 Wcs6EXFh.net
>>983
できましたー
>>> import pandas as pd
>>>
>>> df = pd.DataFrame({'Title': ['時をかける少女', 'トトロ', 'スパイダーマン', '君の名は'],
... 'Rate': [4,5,5,4],
... 'Title en': ['TOKIKAKE', 'TOTORO', 'Spider-Man', 'KIMI'],
... }


1020:) >>> >>> df Rate Title Title en 0 4 時をかける少女 TOKIKAKE 1 5 トトロ TOTORO 2 5 スパイダーマン Spider-Man 3 4 君の名は KIMI >>> >>> s = {'TOKIKAKE', 'Spider-Man'} >>> >>> df2 = df[~df['Title en'].isin(s)] >>> df2 Rate Title Title en 1 5 トトロ TOTORO 3 4 君の名は KIMI >>> >>> df2['Title en'].values array(['TOTORO', 'KIMI'], dtype=object) >>>



1021:デフォルトの名無しさん
18/06/23 22:51:53.22 NZXLyHuw.net
>>978
基本だけならどの本でも同じだし、初心者向けWebサイトでも十分
大事なのは「基本以外の何を教えてくれるか」
Pythonはいろんなことができるから、自分の目的にあった作業のやり方を教えてくれる本を探せばいい
Kindleのサンプルを入手して目次を見比べるといいよ

1022:デフォルトの名無しさん
18/06/24 12:30:55.19 UHMgB5HQ.net
入門書はどの本でも同じとは思わないよ
多重継承とかモジュールの正しい作り方みたいなのが抜けてる本もある

1023:デフォルトの名無しさん
18/06/24 12:50:07.02 EkJGuWQO.net
んなもんどうでもいいだろ
データサイエンスや自然科学の専門の人なんかだいたいPythonの使い方無茶苦茶だけど、
たぶんモジュールの正しい使い方に詳しい人より遥かにPythonを活用してPythonの素晴らしい実績を作ってるよ

1024:デフォルトの名無しさん
18/06/24 12:57:12.03 ZPrvNUiE.net
使い方がぁー! 滅茶苦茶なのいぃぃー! Pythonをー! 活用しているんだってぇwww
滅茶苦茶なのに活用してるとか どの口が言ってんだよ おまえバカだろぉぉwwwww

1025:デフォルトの名無しさん
18/06/24 12:58:43.99 QFRKHUIu.net
遊園地荒らすなよ

1026:デフォルトの名無しさん
18/06/24 13:18:20.23 I6qT+7Vz.net
モデルになった理論と計算アルゴリズムと出力結果が重要なのであってプログラミングは通過点でしかない
書き方の些細な良し悪しなんてどうでもいいんだよね

1027:デフォルトの名無しさん
18/06/24 13:36:35.91 QFRKHUIu.net
プログラムが専業でない人は割とそういう考え方のひと多いよな

1028:デフォルトの名無しさん
18/06/24 13:47:07.39 LEVeAeN2.net
頼むから質問しに来ないでね

1029:デフォルトの名無しさん
18/06/24 13:47:27.43 4gJIHbwS.net
メジャーな言語の中だとPythonのコミュニティは比較的そういう空気があるな
どうでもいい、お前の考えを改めた方が早い、そんなことより仕事しろ、って感じ

1030:デフォルトの名無しさん
18/06/24 13:57:24.25 UHMgB5HQ.net
プログラマとは名ばかりでどちらかというとただの利用者
レストランでいうとコック側なのに客側と勘違いしてる

1031:デフォルトの名無しさん
18/06/24 15:42:02.95 F1zD07yq.net
乙py

1032:デフォルトの名無しさん
18/06/24 15:43:29.70 u5oIYfkC.net
うんこすれ

1033:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 120日 6時間 36分 8秒

1034:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch