くだすれPython(超初心者用) その38
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2018/05/17(木) 11:09:14.54ID:WeqM6vIc
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その37
http://mevius.5ch.net/test/read.cgi/tech/1521271945/
0085デフォルトの名無しさん
垢版 |
2018/05/26(土) 23:13:43.20ID:foLPIKFk
>>84
そんなにですか
重くなるだろうなとは思ってたので50枚取ったら終わりみたいに軽めの限界は設定しようとしてたんですが甘かったですね
しかし目標が無くなってしまった
0087デフォルトの名無しさん
垢版 |
2018/05/26(土) 23:42:59.64ID:Lty78diJ
>>86
レンタル糞サーバーが糞なのは陸の孤島ならぬネットの孤島やからやぞ
世間のトラフィックの99.9999999999999%はおまえんとこに影響ないからw
0088デフォルトの名無しさん
垢版 |
2018/05/27(日) 03:31:42.23ID:c4nNYBzo
>>80
クローラーは、wget を参照

画像判別は、OpenCV とか、
類似の定義のアルゴリズムの研究だけで、軽く数年以上掛かる

どういう画像が似ているのか、その定義が一番難しい
0089デフォルトの名無しさん
垢版 |
2018/05/27(日) 11:30:53.46ID:mgulVE2s
たくさんPython野郎が遊び感覚でクローラー作ってネットを重くしているのか
トータルではgoogle以上にあっちこっちのサイトにクレクレしてたりしてな
0093デフォルトの名無しさん
垢版 |
2018/05/27(日) 23:49:42.39ID:5wdFvZhW
スレ違いだったらごめんなさい
自然言語処理をweb等を見様見真似で勉強してます
その中で共起ネットワーク図というものを見かけて面白そうだったのでやってみたいのですが、まだスクレイピングなどはやった事がないのでまずは青空文庫等のテキストデータを使って共起関係にある単語を表示してみたいと思っています
形態素解析するところまで出来たのですがその先の部分はサンプルなどを見つけられなくて行き詰まっています…
使うべきモジュールなども分からない状態なのですが、どのようにして共起している単語の抽出が行えるでしょうか?
初歩的な質問で申し訳ないのですがよろしくお願いします
0096デフォルトの名無しさん
垢版 |
2018/05/28(月) 04:44:28.44ID:XVTHXgQc
>>93
出現単語リストの直積のリストを作る
要素ごとにjaccard係数(*1)を求める
必要に応じてjaccard係数で足切り
グラフ描画ライブラリ(*2)で描画

*1
jaccard係数について
https://www.slideshare.net/mobile/khcoder/jaccard1

*2
NetworkXとか

大したことは言っていないので、
分からないなら潔く筋トレ(Pythonの)をしてから出直した方がいいと思います
命が掛かっているなら金次第で相談に乗ります
0097デフォルトの名無しさん
垢版 |
2018/05/28(月) 07:39:17.97ID:OuhpSUOS
>>93 です

>>94
>>95
ありがとうございます
やはり基本的な知識なのですね
今日帰宅時に本屋さん寄ってみます

>>96
ありがとうございます
何から手をつけて良いのか分からなかったので流れを教えて頂けてすごく嬉しいです
まずは”出現単語リストの直積のリスト”の部分について調べてみます
周りに聞ける人が誰も居ないのでお金を払ってでも…と毎日思います…
0098デフォルトの名無しさん
垢版 |
2018/05/28(月) 09:00:41.36ID:37+FCx2t
pyautoguiを使ってるんですが、日本語キーボードの無変換キーを入力する方法ってないですか?
0100デフォルトの名無しさん
垢版 |
2018/05/28(月) 12:18:42.73ID:QrMrtBKb
>>96
重ねて質問してすいません
出現単語リストの直積リストを作る
という部分はitertoolsを使って作る事が出来ました

次の要素毎にjaccard係数を求める部分についてなのですが引数として2つのリストを与える必要があるのかなと思うのですが、この時引数とするリストは直積リストともうひとつは何に当たるのでしょうか?
形態素解析したリストになるのでしょうか?
せっかく流れを示して頂いたのにすいません
基本的な考え方も分からないんだと痛感します…
0106デフォルトの名無しさん
垢版 |
2018/05/29(火) 08:25:22.63ID:BwhXSTip
本増えるのはいいけど入門書はいらん
もっと突っ込んだ内容のやつが増えて欲しい
0108デフォルトの名無しさん
垢版 |
2018/05/29(火) 17:00:13.32ID:OdQFw6jJ
numpyの配列の形を変えるにはどうしたらいいですか?
motoというshapeが(3,5)の配列があったとして
array([[1., 2., 3., 4., 5.],
[6., 7., 8., 9., 10.],
[11., 12., 13., 14., 15.]], dtype=float32)

この配列を以下のようなshape(3,5,1)の配列にしたいです
array([[[1., 2., 3., 4., 5.]],
[[6., 7., 8., 9., 10.]],
[[11., 12., 13., 14., 15.]]], dtype=float32)

配列をコピーする用に配列をつくってはみたものの
ここにどうやって形の違う配列をコピーすればいいのか分からないです

zr = np.zeros((3,5,1)).astype("i")

宜しくお願いします
0109デフォルトの名無しさん
垢版 |
2018/05/29(火) 17:46:23.55ID:QKhV4oKb
それだと 1,3,5 じゃないのか
0110デフォルトの名無しさん
垢版 |
2018/05/29(火) 17:49:10.44ID:QKhV4oKb
やりたいことが何か判らんが

>>> import numpy as np
>>> a = np.array([[1., 2., 3., 4., 5.],
... [6., 7., 8., 9., 10.],
... [11., 12., 13., 14., 15.]], dtype='float32')
>>> b = np.array([a])
>>> c = a.reshape(3,5,1)
>>> a.shape
(3, 5)
>>> b.shape
(1, 3, 5)
>>> c.shape
(3, 5, 1)
0111108
垢版 |
2018/05/29(火) 18:00:06.08ID:OdQFw6jJ
>>110
ありがとうございます
ほげー、一行で出来るんですね・・・
まさかforで回すわけでもないしと悩んでました

numpyでグレースケールで採り込んだら
RGBのカラーの時の値が入ってた枠が無くなってしまって
ほげほげしてたところでした・・・助かりました。
0112デフォルトの名無しさん
垢版 |
2018/05/29(火) 22:16:06.70ID:iRdPA+i/
ipythonでインデント(ブロック)の終了ってどーやんの?っと
0113デフォルトの名無しさん
垢版 |
2018/05/30(水) 00:11:49.14ID:6Ga5VGJ6
>>112
エンター押しまくる
0114デフォルトの名無しさん
垢版 |
2018/06/01(金) 14:32:40.20ID:g56dgDhl
docstringを使おうとしたらエラーが起きた

"""ほにゃらら"""

の形式で書いたんだけど、無情にも

SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0x83 in position 1: invalid start byte

と返された。誰か助けて
0116デフォルトの名無しさん
垢版 |
2018/06/01(金) 18:08:04.05ID:Wbxpqrec
coding: hogehoge
0117デフォルトの名無しさん
垢版 |
2018/06/01(金) 20:50:43.65ID:g56dgDhl
なるほど、教えてもらったキーワードでググって
なんとなく理屈が見えたきた
ありがとう
0118デフォルトの名無しさん
垢版 |
2018/06/02(土) 10:41:21.53ID:hlsM3qEn
x = [0, 1, 2] みたいなリストを並び替えると
1番目 [0, 1, 2]
2番目 [0, 2, 1]
3番目 [1, 0, 2]
4番目 [1, 2, 0]
5番目 [2, 0, 1]
6番目 [2, 1, 0]
となるけど単純に f(x,3) -> [1, 0, 2] みたいに呼び出す方法ありますか
0119デフォルトの名無しさん
垢版 |
2018/06/02(土) 11:47:22.91ID:Mn+2M+g0
>118
itertools で全部列挙しておいてから、m番目を返すコード。
リストxの長さを n とすると、O(n!)の計算量になるので、nが小さい値でしか使えない。
また、メモ化してるので、x にいろいろなのがくるとメモリが足りなくなる。
memo = dict()
def f(x, m):
x = tuple(x)
if x not in memo:
memo[x] = list(itertools.permutations(x))
return memo[x][m]

桁DPの要領でm番目を直接求めるアルゴリズムもあるとは思う。
0121デフォルトの名無しさん
垢版 |
2018/06/02(土) 14:05:36.42ID:yUEJ+BJS
>リストを並び替えると
>...略...
>となるけど

なんで確定してんの?
0124デフォルトの名無しさん
垢版 |
2018/06/02(土) 15:13:34.52ID:yUEJ+BJS
並び順次第でもっと高速アルゴリズムあるだろ
0125デフォルトの名無しさん
垢版 |
2018/06/02(土) 15:15:45.21ID:yUEJ+BJS
あと要素に重複許すか許さないかも決めろ
0126デフォルトの名無しさん
垢版 |
2018/06/03(日) 00:38:10.83ID:XOBHiyXi
なんでもかんでも他人が決めてくれると思うなよ
0129デフォルトの名無しさん
垢版 |
2018/06/04(月) 01:25:24.68ID:PSQxbIpD
Numpy(またはリスト)で

HOGE =
[[AB], [CD], [0]
[AB], [CD], [0]
[AB], [CD], [0]]

AB:A〜Bの範囲で乱数
CD:C〜Dの範囲で乱数


のような形で2重配列を生成する方法有りませんか?
出来ればnumpyの関数を使うなりで高速に処理したいです
0130デフォルトの名無しさん
垢版 |
2018/06/04(月) 03:05:03.63ID:kbH5Vpqw
,足りないからsytax error
0131デフォルトの名無しさん
垢版 |
2018/06/04(月) 03:37:22.59ID:/gUisM+Q
>>129です
np.array([np.random.rand(1000) * 40 + 30, np.random.rand(1000) * 150 + 50, np.zeros(1000)])
としたら望んだ動作をさせることが出来ました
これが正攻法ですかね?
0132デフォルトの名無しさん
垢版 |
2018/06/04(月) 12:05:28.08ID:JjmaaBf+
リストでa=[[]]の状態から
a=[[1、1、1]、[2、2、2]、[3、3、3]]の状態にしたいんだけど
a[1].append(2)とするとindex out of rangeになる。
どうすればよかったの?
0138デフォルトの名無しさん
垢版 |
2018/06/04(月) 23:54:57.47ID:V9/EtLY4
スクレイピングについて質問があります。
環境python3.6.5
(requests、beautifulsoup4インストール済み)
win10 64 pro
https://i.imgur.com/nzETfNB.jpg
写真のコマンドをShellで表示させる事は出来ました。
コマンドプロントで表示させようとすると一瞬表示されて落ちます。
hello worldは表示されたままです。
コマンドプロントで表示させるにはどうすれば良いのでしょう?
0141デフォルトの名無しさん
垢版 |
2018/06/05(火) 07:12:27.46ID:vNq9k7GF
タリーズのパスタセットのほうが好き
0143デフォルトの名無しさん
垢版 |
2018/06/05(火) 08:26:51.27ID:lzn810vN
>138
a = input()
をプログラムの最終行に追加して、ユーザーからの入力待ちにしたら、コマンドプロンプトが閉じずに開いたままになると思うよ。
0145デフォルトの名無しさん
垢版 |
2018/06/05(火) 12:20:58.47ID:5wSar7or
>>143
ヤッマーマンコーヒーライター
0147138
垢版 |
2018/06/05(火) 15:33:40.43ID:6QaUpT89
>>143
ありがとうございます。出来ました。
0148デフォルトの名無しさん
垢版 |
2018/06/05(火) 21:35:53.64ID:Z1nEut3E
すみません、どなたか教えてください。
requestsでデータを取得したいのですが、一回目のget()は成功するのに、2回目以降が失敗してしまいます。どうしたらいいでしょうか?
ソースコード → ttps://pastebin.com/iKXzUgL5
0149デフォルトの名無しさん
垢版 |
2018/06/05(火) 21:58:12.58ID:HKweH0GP
>>148
あんま見てないけどjson.loadsにリスト渡せれたっけ?
0150デフォルトの名無しさん
垢版 |
2018/06/05(火) 23:12:10.76ID:4Q7TkxG/
失敗する時のurlは確かに自分が想定しているものか?
失敗する時のエラーコードはいくつ?
curlを打っても同じか?
0151デフォルトの名無しさん
垢版 |
2018/06/06(水) 00:05:28.07ID:cQ8rOQ34
>>150
URLはチェックしたつもりでしたが、完全に見落としていたようです。
ホスト名がおかしくなってたのが原因でした。恥ずかしい・・・
お騒がせしまして誠に申し訳ありませんでした。
0152デフォルトの名無しさん
垢版 |
2018/06/06(水) 02:19:30.77ID:GFJOl7V+
遊園地とデートしたい
0154デフォルトの名無しさん
垢版 |
2018/06/06(水) 11:57:29.64ID:I9hgDbEz
次の質問は cookiejar
0156デフォルトの名無しさん
垢版 |
2018/06/07(木) 12:30:46.46ID:4mIWw2z0
かぶせてるんじゃないの
0159デフォルトの名無しさん
垢版 |
2018/06/08(金) 08:19:51.76ID:/bqVuVHr
かぶきあげ
0160デフォルトの名無しさん
垢版 |
2018/06/08(金) 09:15:17.84ID:lmxa68Ln
pythonで開発してるんだけど
'ascii' codec can't encode characters in position 10-14: ordinal not in range(128)
が出るんだけど文字コードがおかしいから?
日本語が含まれているファイルをアップロードするとことで出てるんだけど。
_aaa = '会社一覧.txt'
_aaa.encode('utf-8')
とかしてもダメで困ってます。
0163160
垢版 |
2018/06/08(金) 09:34:49.45ID:lmxa68Ln
Python3.6です。
サーバはcentos7です。
0166160
垢版 |
2018/06/08(金) 09:54:31.46ID:lmxa68Ln
ファイル名を英数字のみにしたら問題なくアップロードできるんです。
0169デフォルトの名無しさん
垢版 |
2018/06/08(金) 11:00:54.58ID:kYrAgZlc
教えてください。
クラスを作って、それにデータを入れてって、
それをList配列にセットしていったら全部同じ内容になってしまいます。

調べてみたら参照になっているらしく、実態がひとつしかない?という
ことらしいのですけど、内容の異なるクラスをListに
保持するということはできないんでしょうか?
0171デフォルトの名無しさん
垢版 |
2018/06/08(金) 12:44:14.84ID:dTeFfRCY
C/C++ 以外の言語は、オブジェクトの中身がコピーされない。
オブジェクトの参照しかコピーされないから、参照は同一の実体を指す

中身までコピーしたいのなら、clone, deep copy みたいなメソッドを使って、
内側のオブジェクトまで、再帰的にコピーしていかなければならない

もし中身が参照だったら、その実体もコピーしなければならない
0172デフォルトの名無しさん
垢版 |
2018/06/08(金) 15:52:16.84ID:flVgGL8G
>>158
しこしこすると、気持ちいいぞ
やってみ
0177デフォルトの名無しさん
垢版 |
2018/06/09(土) 17:37:21.10ID:Rjsi/POz
独学プログラマーという本でpython勉強してるけど。ディープラーニングやるなら、統計学とか数学知識もだいぶ要求されるんですね。ディープラーニングなんて言葉もさっき知ったばかりだけど、目的もなくプログラミング勉強して仕方ないよね。

お前らはなんの目的をもって、python勉強してるん?
0180デフォルトの名無しさん
垢版 |
2018/06/09(土) 18:11:28.86ID:Rjsi/POz
俺以外にも波乗り人がいて安心した

仕事は大工で転職したい訳でもないけど、ローテクの仕事してる人間として。プログラミングに憧れがあったんだよねー。
0184デフォルトの名無しさん
垢版 |
2018/06/10(日) 10:40:36.55ID:mYiZBk29
import numpy as np
import matplotlib.pyplot as plt
import sympy

theta0 = sympy.Symbol('theta0')
theta1 = sympy.Symbol('theta1')
x_data = np.array([383530, 456474, 533496, 551308, 588788 ]).astype("float32")
y_data = np.array([22064192, 25691911, 27234521, 28403118, 27597193 ]).astype("float32")
def f(x):
return theta0 * x + theta1

error = np.sum((f(x_data) - y_data) ** 2)
diff0 = sympy.diff(error, theta0)
diff1 = sympy.diff(error, theta1)
theta0, theta1 = sympy.solve([diff0, diff1], [theta0, theta1])
print(theta0, theta1)

質問です。
簡単な線形回帰の問題を数学的に解きたいのですがtheta0とtheta1の出力がtheta0,theta1
になってしまいます。
どこが間違ってるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています

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