Pythonのお勉強 Part56
レス数が1000を超えています。これ以上書き込みはできません。
>>926
どうもありがとうございます。
https://pastebin.com/JutGNtYk
上記を実行すると、ちゃんと以下のurlが出力されました。
http://api.nhk.or.jp/v2/pg/info/130/n3/2018061967375.json?key=ほげほげ
何が起こったのかまったく理解出来ずにいます。
16行目のprintと17行目のreturnの違いと、31行目の変数の意味について調べ理解出来るようにします。
※おまじないを調べているうちに関数内でグローバル変数を使うにはglobalキーワードを付ける必要があるとあったので試してみました。 https://pastebin.com/Td0gmrNp
キーフックで処理停止。
"3"が押されたらプロセスを終了させます。 >>928ですが、
globalの使い方間違えてました。
関数Aの中の変数AAをグローバルで使いたい時に
関数Aの中にglobal AAと書くんですね。
関数BでそのAAを使いたい時は、
関数Bの中にA()と書けば関数Bの中で変数AAを扱える事が分かりました。
982でも試してみます。
失礼しました。 >>929
どうもありがとうございます。
勉強します。 globalどうこうは初心者スレに行ったほうが良い気がします。
またこういう基本的な内容を人に聞く前に自分で調べる癖をつけたほうが良いかと。
そうしないといつまでも成長しません。 何度もすみません。
>>926を書き直してみました。
https://pastebin.com/vpZvBD9z
>>930のグローバルを使ってみました。
https://pastebin.com/eaz2Nn8g
どちらも同じ結果が出力されますが、どちらがスマートな書き方ですか?
>>933
たしかにそうですね
聞いてばかりですみません pythonの
x = None
ってメモリどうなってんの? pathlibで1万ファイルくらいあるディレクトリいじって遊んでたけどis_dir()ってクソみたいに遅いのな
内包表記で書いてもそれだけで1秒弱食うとかもうちょっと考え直せよ 多変量解析で使用したいのですが、Rのbestglm関数のように与えた説明変数のうち有意なものを抽出してくれるような関数やパッケージってありますか?
sklearn使って簡単な重回帰分析まではできるのですが扱う説明変数が多くて困ってまして >>938
ディレクトリエントリをキャッシュせんかぎり言語関係なくそんなもん
なにをしたいのかわからんけどos.scandirかos.walk
もしかしたらtwistedがつかえるとおもう。 >>941
あるフォルダの直下のフォルダだけが欲しい(他はいらないしサブディレクトリもいらない)
いまのところcmdの dir [path] /ad /B の結果をそのまま流用してるけど多分もっとマシなやり方があるんだろうなぁ なんで、スクレイピングでから始めようとする人が多いんだろう
webなら、チュートリアル的な事やったあと、どっかのAPI叩く事から始めた方がいいのに >>944
Ruby では、これでファイル名の絶対パスを表示する
# . で始まる、directory, file を除く
# test 直下のフォルダー内の、ファイルのみ処理する
Dir.glob('C:/Users/Owner/Documents/Ruby/test/*/*') do |file|
next if File.directory? file # ファイルだけを処理する
puts file
end >>949
python2でもpython3でも動きませんでした。他の方お願いします >>946
え、Hello Worldってエロ画像ダウンローダのことじゃなかったの? >>946
正直、非標準のライブラリ・モジュールやAPIに頼りきったプログラミングはつまらない。
漢なら、requestsなんて使ってないで、標準ライブラリのurllib(2)を使って書かなきゃ。 pipで入れるライブラリって作成者が消したらダウンロードできなくなりますか? >>954
はい
消すのはもちろん、スパイウェアを仕込むことだって楽勝
性善説によって成り立っている極めて脆弱な仕組み >>954
オンラインインストールは極力避ける
仮にオンラインインストールしたときでも
実態のダウンロードもしておく
githubのリンクとかもあればforkしておく >>955
クソじゃないですか
ビジネスでは使えませんね pipでパッケージをインストールするというのは、パッケージの登録者を全面的に信頼し運命を委ねるということ
もし登録者に悪意があれば、パッケージを使ってる企業を情報流出で潰すことなんて造作もない
見落とされがちだけど実はとんでもないリスクを抱えている クラウドベースのパッケージ管理なんてみんなそんなもんだろ。
githubやawsから直に落とす奴らもある。
ossの利用は自己責任ですよ。 ケン・トンプソンが仕込んだUnixのバックドア定期 pipはオフラインでwhlを個別に意思を持ってインストールする道が用意されている分まだましかもよ。
非効率極まりないがオフラインで環境作るのも可能っちゃ可能。 財団や企業が管理しているライブラリだけをインストール可能にするオプションはありますか? 残念ながら天下のGoogle様とかDropbox様はその辺を重要視してないようだ
ジャップの商慣習には向いてないのかも知れないね Google様は機密データに対するアクセス制御とかはインフラレベルでやってるだろうから、
特定のコンテナがマルウェアに感染したくらいなら問題ないだろう
Dropbox様はrequestsなんかの作者がその気になれば普通に潰せそう 自立型ロボットプログラミングでPythonが主流になりつつある
遅いのに Pythonのプログラムってデスクトップアプリは
実行環境みたいのインストールしなあと動かないの? pyinstallerのようなもので単体のバイナリにできるが
トラブった場合、初心者が解決するのは厳しい
上手く動けば儲けものくらいに考える すっきりわかるJava、みたいな良い入門書ってPythonだと何になりますか? >>978
文法はどの本でやっても同じ
オブジェクト指向学びたいならPythonスタートブックかスッキリでオブジェクト指向学ぶかじゃね?
俺のおすすめはスッキリでオブジェクト指向学んでみんなのPythonかPythonチュートリアルを読むことを勧める >>978
Pythonは学習難易度の低い言語なので定番はない
てかこれ読んでおけば十分
入門書は金の無駄
https://docs.python.jp/3/tutorial/index.html jupyter notebookのマジックコマンドが効かないんですがどうしたらいいでしょうか
%precision 3 とやったのですが桁数が変わりません 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"} >>983
これはどうかな?
https://ideone.com/rBXTZs
もしくはこう
>>> 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']
>>> 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} setB = {x[2] for x in data} - setA
でもいけるか
どれが早いかは知らない >>984-986
ありがとうございます
上手く動きました
csvのデータが1000件くらいなら速度は誤差の範囲でした… >>983
できましたー
>>> import pandas as pd
>>>
>>> df = pd.DataFrame({'Title': ['時をかける少女', 'トトロ', 'スパイダーマン', '君の名は'],
... 'Rate': [4,5,5,4],
... 'Title en': ['TOKIKAKE', 'TOTORO', 'Spider-Man', 'KIMI'],
... })
>>>
>>> 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)
>>> >>978
基本だけならどの本でも同じだし、初心者向けWebサイトでも十分
大事なのは「基本以外の何を教えてくれるか」
Pythonはいろんなことができるから、自分の目的にあった作業のやり方を教えてくれる本を探せばいい
Kindleのサンプルを入手して目次を見比べるといいよ 入門書はどの本でも同じとは思わないよ
多重継承とかモジュールの正しい作り方みたいなのが抜けてる本もある んなもんどうでもいいだろ
データサイエンスや自然科学の専門の人なんかだいたいPythonの使い方無茶苦茶だけど、
たぶんモジュールの正しい使い方に詳しい人より遥かにPythonを活用してPythonの素晴らしい実績を作ってるよ 使い方がぁー! 滅茶苦茶なのいぃぃー! Pythonをー! 活用しているんだってぇwww
滅茶苦茶なのに活用してるとか どの口が言ってんだよ おまえバカだろぉぉwwwww モデルになった理論と計算アルゴリズムと出力結果が重要なのであってプログラミングは通過点でしかない
書き方の些細な良し悪しなんてどうでもいいんだよね プログラムが専業でない人は割とそういう考え方のひと多いよな メジャーな言語の中だとPythonのコミュニティは比較的そういう空気があるな
どうでもいい、お前の考えを改めた方が早い、そんなことより仕事しろ、って感じ プログラマとは名ばかりでどちらかというとただの利用者
レストランでいうとコック側なのに客側と勘違いしてる このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 120日 6時間 36分 8秒 レス数が1000を超えています。これ以上書き込みはできません。