Pythonのお勉強 Part56
■ このスレッドは過去ログ倉庫に格納されています
0101遊園地-24
垢版 |
2018/03/06(火) 20:55:42.95ID:UvYphTrh
バックパック検出時の割合は40%程度で、
膝枕のポーズでした。

ポーズによって、まちまちですが
ダークフレームを使えば、人60%以上
バックパック40--60%でムチムチ太ももを検出できる様です。
0103遊園地-24
垢版 |
2018/03/06(火) 22:10:43.24ID:UvYphTrh
出来そう。とかは良いから
手順と、使用する道具と実装可能な仕様を教えて下さい
0104遊園地-24
垢版 |
2018/03/06(火) 22:24:43.51ID:UvYphTrh
エロ画像はにゃんやんからガチャガチャってしたら出来るわ。

 パンツ画像の検出が難しいなだだだだだだだよ。
0108デフォルトの名無しさん
垢版 |
2018/03/09(金) 17:37:56.34ID:SyfeE77R
勉強したくて書籍買おうと思って、"退屈なことはPythonにやらせよう"を買おうと思ってるのですが、1冊目がこれでもOKでしょうか?
0111デフォルトの名無しさん
垢版 |
2018/03/10(土) 06:09:29.72ID:L0iyZELB
がんがれ
0112デフォルトの名無しさん
垢版 |
2018/03/10(土) 12:58:52.26ID:i4nx7HYt
初心者ですがご教示ください
while文でinputした数値を後の計算で使いたいのですが、定義エラーが出る&定義しても代入されません
なぜですか?
0115デフォルトの名無しさん
垢版 |
2018/03/10(土) 13:38:56.25ID:0MTjS+2c
>>44
退屈というか面倒なことなら山ほど抱えていて、全部一切合切pythonにやってもらいたいぐらいだが、残念ながらコードが書けない。
0116デフォルトの名無しさん
垢版 |
2018/03/10(土) 13:39:51.32ID:0MTjS+2c
>>115はなぜかアンカー付いてた。すまそ
0117デフォルトの名無しさん
垢版 |
2018/03/10(土) 16:26:56.78ID:vFw8BYES
まずバカでもわかるレベルの手順を日本語で書いて
それをpythonに翻訳するだけ
何回かやってりゃコツもつかめる

個々の翻訳がわからなければここで聞けばいい
日本語でも書けないなら無理と思え
0118デフォルトの名無しさん
垢版 |
2018/03/10(土) 17:34:28.97ID:5pXC+BOT
正論
0119デフォルトの名無しさん
垢版 |
2018/03/10(土) 19:38:56.10ID:cf6Ll6te
kindleでPythonの入門書探してるとキモい女の絵の本が出てくるけどあれなんなの?
マジやめてほしい
0120デフォルトの名無しさん
垢版 |
2018/03/10(土) 19:51:26.39ID:6AtVaAR0
>>117
>日本語でも書けないなら無理と思え
5chのpythonスレの質問はPythonでの書き方が分からないからではなく
日本語でも書けないってのが多いからな。
0121デフォルトの名無しさん
垢版 |
2018/03/10(土) 20:49:07.14ID:yi682Bf+
python勉強始めて、jupyter notebookでちょろちょろやってるんだけども実際じゃあ開発始めよう!ってなったらVScodeとかでやればいいのかな?
0124デフォルトの名無しさん
垢版 |
2018/03/10(土) 22:03:18.26ID:CYNPOxqI
PTVSは先日新しいIntelliSenseが正式にアナウンスされて
ライブラリデータベースが不要になったみたいだけど
未だに試験的で型不明が増えたり一部退化しとるな

あとはCondaサポートが追加されたり…
0125デフォルトの名無しさん
垢版 |
2018/03/10(土) 22:47:27.80ID:uUYTpCvs
Anacondaについてるspyderをそのまま使ってるけどpycharmの方がいいのかね。
好き好きなんだろうけども、ある程度使って比べないとメリットデメリット分からんからなあ。
0126デフォルトの名無しさん
垢版 |
2018/03/10(土) 23:09:45.15ID:vFw8BYES
自分で考えなくてもAIがなんかいい感じにしてくれるんでしょう?
というのが増えそう
0128デフォルトの名無しさん
垢版 |
2018/03/11(日) 01:10:04.76ID:HogP+vFk
>>126
将来はそんな感じになって、個人が作る趣味レベルのソフトはAIでプログラムを
作るになるんだろうな。10年ぐらい先には、趣味レベルものを作るときは
気合を入れてプログラミング言語覚える必要ないになっていたりしてな。
0129デフォルトの名無しさん
垢版 |
2018/03/11(日) 02:34:21.01ID:hpuVB5+/
10年前にも、そのまた10年前にも言われてたなそれ。
さらにそのまた10年前にも略
0130デフォルトの名無しさん
垢版 |
2018/03/11(日) 10:43:54.31ID:wWFsao1Q
簡単なものは作れるだろうけど、AIも人間がプログラムして動いてるんだから、いくら学習しても人間を越えることはないだろうな
工夫ってのが出来ないし
0131デフォルトの名無しさん
垢版 |
2018/03/11(日) 10:53:20.08ID:zWe+i43K
人間が理解不能なものは作れるんじゃね
それが有効に動くものなら理解不能のままでも使えばいい
0133デフォルトの名無しさん
垢版 |
2018/03/11(日) 11:11:10.40ID:u0Fc0bsI
そのAIが作ったプログラムが違法アップロードとかしたら誰が責任取るんだろ
AIの製造元? AIに指示したユーザー?
0136デフォルトの名無しさん
垢版 |
2018/03/11(日) 11:48:21.93ID:wrJvYVnh
チェスのディープブルーはわりとごり押しだもんな。昔ながらというか。
囲碁のgoogle AlphaGoならまた違うんだが。
0138デフォルトの名無しさん
垢版 |
2018/03/11(日) 12:09:49.19ID:8JC0BCod
>>135
AI同士が撃ち合いして人間が把握していない手はあるんだろ
0139デフォルトの名無しさん
垢版 |
2018/03/11(日) 12:10:09.57ID:93lmuZEG
>>135
アホなの?
人が考えられないような打ち方を生成するなんてド素人でもできるわ
難しいのはそのなかから有効な手を絞り込む方
0140デフォルトの名無しさん
垢版 |
2018/03/11(日) 12:11:36.51ID:8JC0BCod
いよいよ2ともお別れか
0141デフォルトの名無しさん
垢版 |
2018/03/11(日) 13:02:26.58ID:BorRgPy6
たまに10年前の技術を前提にカキコしてる人がいるのは5chが時空を超えて繋がっているからである。
0144デフォルトの名無しさん
垢版 |
2018/03/11(日) 20:16:20.99ID:1mhcZmSW
rubyいつ流行ったっけ
0145デフォルトの名無しさん
垢版 |
2018/03/11(日) 20:30:10.28ID:lvju0XX+
10年かもう少し前くらいには
国産オブジェクト指向スクリプト言語や
言うてお前らみたいなんが飛びついとったで
0148デフォルトの名無しさん
垢版 |
2018/03/13(火) 21:13:11.46ID:hWh8GdfX
BeautifulSoupで、bidの107.206を抽出する方法はある?

s = '<!--{"rates":[{"code":"USDJPY","name":"米ドル/円","bid":107.206,"ask":107.207,"high":107.279,"low":106.254,"open":106.408'
s = s.replace('<!--{"rates":[{"code":"USDJPY","name":"米ドル/円","bid":','')
ここから先が分からない。
0149デフォルトの名無しさん
垢版 |
2018/03/13(火) 22:01:24.56ID:exPfn8I7
>>148
そもそもそこからわざわざBeautifulSoupを使う意味がわからんのだが
先に <!― から ―> までの { } の JSON を取り出して bit キーの値を取り出した方が良いんじゃないの

その方法で無理矢理やるなら
s = re.sub(r',.+', '', s)
とか
0151デフォルトの名無しさん
垢版 |
2018/03/13(火) 22:36:15.65ID:hWh8GdfX
>>149
分からない(>_<)
Expecting value: line 1 column 1 (char 0)が出ます。


import requests, json
url = 'https://fx.minkabu.jp/pair'
res = requests.get(url)
webdata = json.loads(res.text)
print(webdata)
0154デフォルトの名無しさん
垢版 |
2018/03/14(水) 04:19:45.10ID:QheYb9tS
doc = Nokogiri::HTML(<<EOT)
<html><body>
<script type="application/json" data-hypernova-id="b8a86d1a-ba57-4db9-86fb-072499e821e3" data-hypernova-key="RateList">
<!--{"rates":[{"code":"USDJPY","name":"米ドル/円","bid":106.714,"ask":106.717, 以後省略 }]}-->
</script>
</body></html>
EOT

#script タグで、data-hypernova-id 属性を持つもの
elem = doc.xpath("//script[@data-hypernova-id]")

#テキスト部分
/"bid":([^,]*),/ =~ elem.first.content
puts $1 #=> 106.714

Ruby で作った。
正規表現は、"bid": で始まり、, 以外の文字が続いて、, がある。
, 以外の文字が続いている部分を、キャプチャーする
0155デフォルトの名無しさん
垢版 |
2018/03/14(水) 14:58:19.61ID:2cAisCwC
質問者もアホすぎ
回答者も糞すぎ
0158デフォルトの名無しさん
垢版 |
2018/03/14(水) 16:10:09.31ID:P1q1sBXB
>>> import requests
>>> import re
>>> url='https://fx.minkabu.jp/pair'
>>> response = requests.get(url)
>>> response.status_code
200
>>> charset = re.search(r'charset=(.+)', response.headers['content-type']).group(1)
>>> charset
'utf-8'
>>> content = response.content.decode(charset)
>>> re.search(r'"bid":(\d+\.?\d+)', content).group(1)
'106.495'
>>>

注意点:
・レスポンスのステータスコード(response.status_code)を確認して正常にアクセスできた(スタータスコードが200番台)かを確認すること
・requestsは取得したhtmlデータのcharsetを自動判定してエンコードまでしてくれる(自動でエンコードされたデータはresponse.text)が、
 この自動判定はよく間違えるので信用しない方がいい。よって、ここではレスポンスヘッダーのcontent-typeからcharsetを取得している
 ヘッダーから取得できない場合はボディからcharsetの取得を試みるとよい
0159デフォルトの名無しさん
垢版 |
2018/03/14(水) 16:28:13.72ID:P1q1sBXB
「答え全部教えちゃって、相手の勉強にならないだろ」と思われるかもしれないが、これは答えではなく参考例だ
参考例は正常に動作する例じゃないと参考にすらならない、質問者はこれを足掛かりにエラー処理などを実装するだろう
ステータスコードの分岐処理も必要だ、連続アクセスしないようにスリープ処理も必要だ、取得したいデータが増えれば
正規表現の例を参考に学習をすすめることだろう、、そう私はただの参考例を書いただけなのだ
それに比べれば先人たちの回答はウンコ、、ウンコと言わざるを得ない・・
0161質問者です(>>148 >>151)
垢版 |
2018/03/14(水) 19:14:23.24ID:xz9Rv2ZT
>>158 >>159先生ありがとうございます!
自分は正規表現が分かってないので、勉強します。

なお、>>156は自分ではありません。
0162デフォルトの名無しさん
垢版 |
2018/03/14(水) 21:26:47.25ID:y6/DiST3
>>155
アホ過ぎだから、アホ過ぎもユーザー対象にしているpythonなんだよ
他の言語では相手にされないかからね
と言うことで、pythonには俺や>>148のようなアホ過ぎが非常に多い。
でも、アホ過ぎもユーザー対象だからと言っても、見ての通り
アホ過ぎでもプログラムが出来るわけではない。
0163154
垢版 |
2018/03/15(木) 01:11:18.75ID:NnpmsWbw
script[@data-hypernova-id]

まず、CSS セレクターでスクレイピングしてから、データを取得しろ
0164154
垢版 |
2018/03/15(木) 01:14:00.64ID:NnpmsWbw
>>163
は、間違い

xpath なら、//script[@data-hypernova-id]

CSS セレクターなら、script[data-hypernova-id]
0165154
垢版 |
2018/03/15(木) 01:32:37.48ID:NnpmsWbw
HTMLの仕様上、script要素内の<!--はコメントの開始とは解釈されないのでコメントノードも存在しませんが、
XHTMLならコメントの開始と解釈されコメントノードが生成されるはずです

実際Firefox 3、Safari 3.0.4 Beta、Opera 9.27/9.50でXHTMLのscript要素内のコメントノードを取得できました

XHTMLをtext/htmlで読み込んでいませんか?
多くのブラウザではapplication/xhtml+xml、applicatoin/xml、text/xmlで読み込まないとXHTMLとして扱ってくれません

あるテキストを含むコメントノードを取得するXPath
https://os0x.g.hatena.ne.jp/os0x/20080620/1213987223

>>154
で作ってる時に、<!-- コメント -->
この部分が、HTML では、どうしてもコメントとして取得できなかったが、
ようやく理由がわかった
0166デフォルトの名無しさん
垢版 |
2018/03/16(金) 07:50:15.92ID:TOiZPWj8
アホな質問かもしれませんが教えて下さい。
色々ライブラリがあるみたいですが、あるライブラリのヘルプみたいなそもそもの使い方、説明っていうのはどこに載っているのですか?
0167デフォルトの名無しさん
垢版 |
2018/03/16(金) 11:01:38.18ID:6YN3zoy5
>>166
そのライブラリの公式サイトとかライブラリを使ってる人のブログとか
英語ばっかだからって諦めちゃダメよ
あと、help()でも見られる
0168デフォルトの名無しさん
垢版 |
2018/03/16(金) 12:51:36.68ID:kXpU5L3F
Jupyter Notebook 使い難い
ブラウザがGUIになっているなんて
0171デフォルトの名無しさん
垢版 |
2018/03/16(金) 14:34:15.66ID:m5Cyk9W0
AtomでHydrogen かemacs でEIN
0172デフォルトの名無しさん
垢版 |
2018/03/16(金) 14:41:53.77ID:3ma6aQHv
いやなら無理に使わなくていいのに
0175デフォルトの名無しさん
垢版 |
2018/03/16(金) 17:15:49.75ID:WyQDIky+
>>174
あれは逐一コードとその実行結果を表示&記録するツール
旨いこと使うと後々便利らしいけど、がーっと.py書く為のツールじゃないっぽい
0177デフォルトの名無しさん
垢版 |
2018/03/16(金) 17:50:54.61ID:WyQDIky+
シェルつーか、pythonが実行できるonenoteの機能縮小版みたいな感じかな、、、

最終的なコードや結果じゃなくて、途中の流れを記録して他人に見せたり自分で見返したりするツール
0178デフォルトの名無しさん
垢版 |
2018/03/16(金) 18:05:25.27ID:CkZdro5L
R言語の環境がそういう機能持っててアカデミック分野で便利に使われてたので同用途でパクったのが始まりじゃないかな。お前らはいっこもアカデミックではないので使わなくてよろしい。
0180デフォルトの名無しさん
垢版 |
2018/03/16(金) 19:35:22.11ID:CkZdro5L
はぁ…
Rでモデル検証とかやってる人が何を開発すると言うのか。
認知できないんだからお前にそういう世界の存在は分からない。
開発環境としてお粗末?そりゃそうだ開発環境じゃないんだから。
ごちゃごちゃ言わないで使わなければいいんだよ。
お前には必要なものでも便利なものでもないんだから。
0181デフォルトの名無しさん
垢版 |
2018/03/17(土) 02:50:31.77ID:apINGZdL
下記のようなコードがあります。
変数 i が変数 j より大きい場合だけprintを実行したいのですが
ifで条件に合う場合だけprintを実行させると
無駄な計算が増えて時間がかかってしまいます。
何か良い方法はありませんでしょうか?


for i in range(1000000):
____for j in range(1000000):
________print(i*ii)
0186デフォルトの名無しさん
垢版 |
2018/03/17(土) 03:16:55.41ID:sNNOzkAn
こういう技を使うと論理や符号の勘違いでバグ起こしやすいから、素直にif文使ったほうがいい
Pythonでどうしても高速化したいんなら、CupyでGPU演算するとか、Cythonでバイナリ化するとか考えるべき
0187デフォルトの名無しさん
垢版 |
2018/03/17(土) 03:24:04.32ID:apINGZdL
そういうもの何ですか。
バグに気をつけます。。。
CupyとCython勉強してみます!
0188デフォルトの名無しさん
垢版 |
2018/03/17(土) 04:46:34.91ID:WhczEXZ3
>>187
>CupyとCython勉強してみます!
>>181のようなハイレベルのことをする人はpythionの勉強よりCupyとCythonの勉強したほうがずっと良いよ
0191デフォルトの名無しさん
垢版 |
2018/03/17(土) 08:14:51.98ID:yHhMlxWi
計測もしてないのに高速化とか害悪以外の何者でもない。
あとそれ絶対早くなってないから。
0192デフォルトの名無しさん
垢版 |
2018/03/17(土) 09:05:54.76ID:GI3013Uv
>>191
たしかに
これに取り組もうと思った動機が謎

三流の講師が宿題にでも出したのかな
0194デフォルトの名無しさん
垢版 |
2018/03/17(土) 11:00:51.63ID:+q1jwFei
お手軽に高速化ならpypyおすすめ。
コードを一切変更せず、だいだい7倍くらい速くなる。
ただし、外部ライブラリで対応してないのもあるので、要注意。
あと、高速化では何より、実行時間を測定して、ボトルネックを特定することが重要。
IDEにSpyder使うと、プロファイラを簡単に使えていいよ。関数ごとの実行時間や呼び出し回数を簡単に表示できる。
本気で高速化するなら、C++で
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況