Pythonオフィシャルサイト
http://www.python.org/
テンプレ等は2以降で
■前スレ
Pythonのお勉強 Part54
http://mevius.5ch.net/test/read.cgi/tech/1504251887/
探検
Pythonのお勉強 Part55
■ このスレッドは過去ログ倉庫に格納されています
2017/12/22(金) 14:15:47.03ID:8mUBEZUB
600デフォルトの名無しさん
2018/02/01(木) 14:01:36.25ID:WSecxvXB >>599
Linkありがとうございます。
Linkありがとうございます。
601デフォルトの名無しさん
2018/02/02(金) 06:44:00.41ID:TdwKXjoL aaa={2,6,9}というリストに、
fff()関数に渡して、77を加えたいのですが、
エラーが出ます。どうすればいい?
AttributeError: 'set' object has no attribute 'append'
aaa={2,6,9}
def fff(bbb):
bbb.append(77)
print(bbb)
fff(aaa)
fff()関数に渡して、77を加えたいのですが、
エラーが出ます。どうすればいい?
AttributeError: 'set' object has no attribute 'append'
aaa={2,6,9}
def fff(bbb):
bbb.append(77)
print(bbb)
fff(aaa)
602デフォルトの名無しさん
2018/02/02(金) 06:49:05.11ID:TdwKXjoL global aaa加えてもダメ。
aaa={2,6,9}
def fff(bbb):
global aaa
bbb.append(77)
print(bbb)
fff(aaa)
aaa={2,6,9}
def fff(bbb):
global aaa
bbb.append(77)
print(bbb)
fff(aaa)
603デフォルトの名無しさん
2018/02/02(金) 07:19:00.22ID:lpRrOiv+ >aaa={2,6,9}というリストに
{ } は、set・集合だろ
>AttributeError: 'set' object has no attribute 'append'
だから、setには、append が無い
リストは、[2, 6, 9]
{ } は、set・集合だろ
>AttributeError: 'set' object has no attribute 'append'
だから、setには、append が無い
リストは、[2, 6, 9]
604デフォルトの名無しさん
2018/02/02(金) 07:23:51.94ID:EzUfnp8s appendをaddに変えると良いよ
605デフォルトの名無しさん
2018/02/02(金) 07:26:15.84ID:sggyuymU フォントωわかりにくすぎ
606デフォルトの名無しさん
2018/02/02(金) 07:29:37.72ID:29y3RqyU コ−ド打ち間違いでした。
リスト[2, 6, 9]だと、出来ますか?
今、通勤中で、パソコンがないので。。。
リスト[2, 6, 9]だと、出来ますか?
今、通勤中で、パソコンがないので。。。
607デフォルトの名無しさん
2018/02/02(金) 08:18:00.09ID:5p9ZJRtr aaa = [2,6,9]
def fff(bbb):
bbb.append(77)
print(bbb)
fff(aaa)
これでできた
def fff(bbb):
bbb.append(77)
print(bbb)
fff(aaa)
これでできた
608デフォルトの名無しさん
2018/02/02(金) 12:09:46.98ID:EhnDmFZw これは、出来る?
グローバルなリストを、
関数内で、添え字で代入だけど。
今、パソコンがない環境なのです。。。
aaa = [2,6,9]
def fff(bbb):
bbb [1] = 77
print(bbb)
fff(aaa)
グローバルなリストを、
関数内で、添え字で代入だけど。
今、パソコンがない環境なのです。。。
aaa = [2,6,9]
def fff(bbb):
bbb [1] = 77
print(bbb)
fff(aaa)
609デフォルトの名無しさん
2018/02/02(金) 12:16:28.21ID:dTcbVnf+ 何時間通勤しとんねん
610デフォルトの名無しさん
2018/02/02(金) 12:29:21.28ID:JkEnXGqU Pythonしたいなら仕事やめろカス
611愛知人
2018/02/02(金) 12:35:00.00612デフォルトの名無しさん
2018/02/02(金) 12:54:54.71ID:YzG776tY613デフォルトの名無しさん
2018/02/02(金) 13:08:20.53ID:oiJ7/Utq Pythonで物理乱数を発生させたいと考えてます。
できるだけお金を掛けずに簡単にやる方法ってありませんか。
当方、プログラミングは最近始めたばかりの初心者です。
よろしくお願いします。
私が考えてるのはマイクなどで音を拾って音の周波数から乱数を発生。。。
難しいですかね?どなたかやり方教えてください。
できるだけお金を掛けずに簡単にやる方法ってありませんか。
当方、プログラミングは最近始めたばかりの初心者です。
よろしくお願いします。
私が考えてるのはマイクなどで音を拾って音の周波数から乱数を発生。。。
難しいですかね?どなたかやり方教えてください。
614デフォルトの名無しさん
2018/02/02(金) 13:41:32.66ID:EhnDmFZw 611、612さん、thx!
出来ました!
パソコン持って来てないけど、
分かりました(^-^)
出来ました!
パソコン持って来てないけど、
分かりました(^-^)
615デフォルトの名無しさん
2018/02/02(金) 13:52:45.89ID:HmPuZc+/616愛知人
2018/02/02(金) 13:55:08.72 それ読んでも擬似乱数の知識しか身に付かなくね
617デフォルトの名無しさん
2018/02/02(金) 13:58:58.06ID:oiJ7/Utq618デフォルトの名無しさん
2018/02/02(金) 14:04:21.70ID:oiJ7/Utq どなたかDAISOで揃うもので物理乱数を発生させる方法をお願いします。m(_ _)m
619デフォルトの名無しさん
2018/02/02(金) 14:07:47.03ID:oiJ7/Utq サイコロとかはなしでお願いします。
自動的に乱数を発生させたいのです。
自動的に乱数を発生させたいのです。
620デフォルトの名無しさん
2018/02/02(金) 14:08:31.66ID:XiKAbUuN ID:TdwKXjoL
ID:29y3RqyU
ID:EhnDmFZw
ID:oiJ7/Utq
ID:29y3RqyU
ID:EhnDmFZw
ID:oiJ7/Utq
621デフォルトの名無しさん
2018/02/02(金) 14:12:35.82ID:vtmlqeLa 普通はrdrandとか使うんじゃないか
まさにrdrandっていうモジュールがPyPIにあるから
それ使えばいいだろ
まさにrdrandっていうモジュールがPyPIにあるから
それ使えばいいだろ
622愛知人
2018/02/02(金) 14:13:14.53 単位時間の音声データのハッシュを計算する。
素人だから本当にこれで良いのか知らないけど。
素人だから本当にこれで良いのか知らないけど。
623愛知人
2018/02/02(金) 14:17:04.86 ググったら/dev/randomもハードウェア乱数生成器ぽい
624デフォルトの名無しさん
2018/02/02(金) 14:24:28.06ID:oiJ7/Utq626デフォルトの名無しさん
2018/02/02(金) 14:35:43.97ID:oiJ7/Utq627デフォルトの名無しさん
2018/02/02(金) 14:43:17.11ID:vtmlqeLa >>624
https://news.mynavi.jp/article/20110921-ivy_bridge/
Ivy Bridgeのrdrandの仕組みはここに簡単に書いてあるが
ただ電気回路の知識がないと理解できなさそう
https://news.mynavi.jp/article/20110921-ivy_bridge/
Ivy Bridgeのrdrandの仕組みはここに簡単に書いてあるが
ただ電気回路の知識がないと理解できなさそう
628デフォルトの名無しさん
2018/02/02(金) 14:46:02.85ID:oiJ7/Utq629デフォルトの名無しさん
2018/02/02(金) 16:14:16.94ID:HmPuZc+/ >>617
愛恥人とかいう馬糞野郎が何か言っているが
/dev/randomはハードウェア乱数生成器だぞ
お前のような人間未満の低脳障害者が人間様を疑うなんぞ100年早い
新小岩駅から成田エクスプレスに飛び込んで死ね
愛恥人とかいう馬糞野郎が何か言っているが
/dev/randomはハードウェア乱数生成器だぞ
お前のような人間未満の低脳障害者が人間様を疑うなんぞ100年早い
新小岩駅から成田エクスプレスに飛び込んで死ね
630デフォルトの名無しさん
2018/02/02(金) 16:35:22.84ID:PrdnpgbH 鉄道ヲタク?
631愛知人
2018/02/02(金) 16:37:54.48 >>629
スマンカッタw
スマンカッタw
632デフォルトの名無しさん
2018/02/02(金) 19:02:33.57ID:EhnDmFZw グローバル変数aaaを、関数を使って、888にしたい。
以下のコ−ドでは、出来ません。
どうすれば、良いでしょうか?
aaa = 0
def fff(bbb):
global aaa
bbb = 888
fff(aaa)
print(aaa)
以下のコ−ドでは、出来ません。
どうすれば、良いでしょうか?
aaa = 0
def fff(bbb):
global aaa
bbb = 888
fff(aaa)
print(aaa)
633デフォルトの名無しさん
2018/02/02(金) 20:03:05.56ID:+1e1zOrF aaa = 888
関数使う意味わからん
関数使う意味わからん
634デフォルトの名無しさん
2018/02/02(金) 20:06:10.78ID:woVD/Zi7 俺、さっぱり分からんけど、とりあえず妄想で
def fff(bbb):
global aaa
aaa = 888
で良いんじゃないのか
def fff(bbb):
global aaa
aaa = 888
で良いんじゃないのか
635デフォルトの名無しさん
2018/02/02(金) 20:06:19.58ID:EhnDmFZw 自分のpgには、必要なのですよ。
636デフォルトの名無しさん
2018/02/03(土) 00:55:28.57ID:1aIYWNNN pyqtとpyinstallerでアプリ作りたい者です
が、pyqtにmatplotlibのグラフを表示できなくて一旦棚上げしようと思います
おれにはまだ早かった...
が、pyqtにmatplotlibのグラフを表示できなくて一旦棚上げしようと思います
おれにはまだ早かった...
637デフォルトの名無しさん
2018/02/03(土) 01:01:33.26ID:17CpKkvr 632ですが、自己解決しました。
関数の戻り値を書けばできました。
関数の戻り値を書けばできました。
638デフォルトの名無しさん
2018/02/03(土) 05:09:27.40ID:pNC8Ba1v pyqtにmatplotlibのグラフを表示
wxなら簡単
wxなら簡単
639デフォルトの名無しさん
2018/02/03(土) 09:01:44.36ID:VDMdY/mi >>637
まるで意味がわからない…
まるで意味がわからない…
640デフォルトの名無しさん
2018/02/03(土) 13:31:39.02ID:tdjDlyEs >>631
お前も死ね
お前も死ね
641デフォルトの名無しさん
2018/02/03(土) 14:09:01.94ID:jcEuZ+bz >>639
わからないならレスしないでくださいうざいだけです
わからないならレスしないでくださいうざいだけです
642デフォルトの名無しさん
2018/02/03(土) 15:23:46.45ID:3J9RZTRr643デフォルトの名無しさん
2018/02/03(土) 15:26:24.05ID:3J9RZTRr >>638
wxaggもqt4aggもmatplotlibの表示先を変えるための実装なので、殊更wxの方が簡単なわけではないと思うけど。
wxaggもqt4aggもmatplotlibの表示先を変えるための実装なので、殊更wxの方が簡単なわけではないと思うけど。
644デフォルトの名無しさん
2018/02/03(土) 15:50:24.47ID:LmM6Jde2 >>641は意味わかるの?
俺はさっぱりなんだが。
俺はさっぱりなんだが。
645デフォルトの名無しさん
2018/02/03(土) 16:59:49.58ID:TW07+iIs 漏れは判らん時は無視してる
646愛知人
2018/02/03(土) 17:12:24.52 普通に解るが
647デフォルトの名無しさん
2018/02/03(土) 17:51:24.99ID:8pdQs/78 荒らしに構う阿呆も荒らし
648デフォルトの名無しさん
2018/02/04(日) 17:54:48.26ID:ie1wCEAo https://www.tutorialspoint.com/pyqt/pyqt_qclipboard.htm
ここのexampleのソースコードさがしてるんだけど、このサイトのどこかにありますか?探しても見つからない。
これと同じものが書ければ解決なんですが
ここのexampleのソースコードさがしてるんだけど、このサイトのどこかにありますか?探しても見つからない。
これと同じものが書ければ解決なんですが
649デフォルトの名無しさん
2018/02/04(日) 18:15:08.13ID:F/J6Xayo650デフォルトの名無しさん
2018/02/06(火) 01:47:55.47ID:4qlhSHmu Numpyで二つの一次元配列を要素順(縦方向)に比較して何個一致してるか計算したいのですが、
どうしたら良いのでしょうか?どなたかご教授お願いします。
[1,2,3,4,5]
[1,2,3,5,4]
この場合1,2,3が一致してるので、一致率は6割。
こんな感じの計算をしたいのです。
どうしたら良いのでしょうか?どなたかご教授お願いします。
[1,2,3,4,5]
[1,2,3,5,4]
この場合1,2,3が一致してるので、一致率は6割。
こんな感じの計算をしたいのです。
651デフォルトの名無しさん
2018/02/06(火) 02:25:49.31ID:4s/KmnsS >>650
なんか自分ではやりたくない宿題・課題を俺らにやらせようって感じを受けるんだが...
>どうしたら良いのでしょうか?
日本語でそれをやる手順を書けるのか?
実はそれすらわからないのか? こうなるとPython以前のことになる
なんか自分ではやりたくない宿題・課題を俺らにやらせようって感じを受けるんだが...
>どうしたら良いのでしょうか?
日本語でそれをやる手順を書けるのか?
実はそれすらわからないのか? こうなるとPython以前のことになる
652デフォルトの名無しさん
2018/02/06(火) 02:38:58.35ID:4qlhSHmu 荒らしは煽りはご勘弁くださいm(_ _)m
653デフォルトの名無しさん
2018/02/06(火) 02:44:52.03ID:4qlhSHmu 宿題じゃなくて自主的に勉強してます。
煽りはやめて><
煽りはやめて><
654デフォルトの名無しさん
2018/02/06(火) 03:28:55.30ID:1XqIXLfE でもお前勉強してないじゃん。
655デフォルトの名無しさん
2018/02/06(火) 03:33:07.91ID:4qlhSHmu 自分なりに頑張って勉強してます。
調べてもよくわからなかったので質問させて頂きました。
煽り耐性がないのでマジで凹みます。
本当に煽りはやめてください。。。
調べてもよくわからなかったので質問させて頂きました。
煽り耐性がないのでマジで凹みます。
本当に煽りはやめてください。。。
656デフォルトの名無しさん
2018/02/06(火) 04:03:14.49ID:6Ikfm20h まさか、まったくわからないわけではないだろう
どういうアプローチがあると考えて、それはどうしてうまく行かなかったのか書いてみて?
どういうアプローチがあると考えて、それはどうしてうまく行かなかったのか書いてみて?
657デフォルトの名無しさん
2018/02/06(火) 04:23:43.40ID:4qlhSHmu ifとforで一個一個比較して一致したものをカウントするという原始的な方法なら思いついたのですが
配列の要素が数十万とかになると計算に凄く時間がかかりすぎて自分はおかしな事をしてると思いました。
Numpyを使えばもっと早く計算できるのではないかと思ったのです。
Numpyで配列同士を除算して1になったものをカウントするという方法も考えましたが
何かもっとよい方法があるのではないかと思って質問するに至りました。
配列の要素が数十万とかになると計算に凄く時間がかかりすぎて自分はおかしな事をしてると思いました。
Numpyを使えばもっと早く計算できるのではないかと思ったのです。
Numpyで配列同士を除算して1になったものをカウントするという方法も考えましたが
何かもっとよい方法があるのではないかと思って質問するに至りました。
658デフォルトの名無しさん
2018/02/06(火) 04:49:55.16ID:l7KCE7ID659デフォルトの名無しさん
2018/02/06(火) 04:52:04.56ID:4qlhSHmu660デフォルトの名無しさん
2018/02/06(火) 08:32:31.23ID:DKsNWAcY 考え方は別に間違ってないと思うけど、なぜ最後までやってみてから検討しないのか
a=比較対象のリスト1
b=比較対象のリスト2
c=a-b #一致する箇所だけ数値が0になる
count=len(np.where(c==1)[0]) #0の数をカウント
par=count/len(c)*100 #割合を求める
a=比較対象のリスト1
b=比較対象のリスト2
c=a-b #一致する箇所だけ数値が0になる
count=len(np.where(c==1)[0]) #0の数をカウント
par=count/len(c)*100 #割合を求める
661デフォルトの名無しさん
2018/02/06(火) 09:57:23.13ID:AHbr4rI2 >>660
うわぁ〜、すげぇアホなやり方
うわぁ〜、すげぇアホなやり方
662デフォルトの名無しさん
2018/02/06(火) 10:09:01.65ID:4qlhSHmu663デフォルトの名無しさん
2018/02/06(火) 10:10:16.24ID:HnlXhHfV 行列にする
aは
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 4 0
0 0 0 0 5
になる
bは
aは
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 0 5
0 0 0 4 0
になる
線形代数使って対角線を一発で判断
aは
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 4 0
0 0 0 0 5
になる
bは
aは
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 0 5
0 0 0 4 0
になる
線形代数使って対角線を一発で判断
664デフォルトの名無しさん
2018/02/06(火) 10:12:03.78ID:HnlXhHfV bは
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 0 4
0 0 0 5 0
かな
まあがんがれ
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 0 4
0 0 0 5 0
かな
まあがんがれ
665デフォルトの名無しさん
2018/02/06(火) 10:24:10.70ID:4qlhSHmu666デフォルトの名無しさん
2018/02/06(火) 10:25:47.78ID:4qlhSHmu やっぱ機械学習や、時系列扱う場合線形代数は必須ですよね。。。
667デフォルトの名無しさん
2018/02/06(火) 10:54:41.09ID:AHbr4rI2 >>> import numpy as np
>>> from itertools import zip_longest
>>>
>>> a = [1,2,3,4,5]
>>> b = [1,2,3,5,4]
>>> np.mean([v1==v2 for v1,v2 in zip_longest(a,b)]) * 100
60.0
>>>
>>> import random
>>> c = [random.randrange(1,10) for _ in range(random.randrange(5,10))]
>>> d = [random.randrange(1,10) for _ in range(random.randrange(5,10))]
>>> np.mean([v1==v2 for v1,v2 in zip_longest(c,d)]) * 100
25.0
>>>
>>> c
[1, 1, 5, 2, 8]
>>> d
[1, 2, 7, 2, 9, 5, 1, 1]
>>>
>>> from itertools import zip_longest
>>>
>>> a = [1,2,3,4,5]
>>> b = [1,2,3,5,4]
>>> np.mean([v1==v2 for v1,v2 in zip_longest(a,b)]) * 100
60.0
>>>
>>> import random
>>> c = [random.randrange(1,10) for _ in range(random.randrange(5,10))]
>>> d = [random.randrange(1,10) for _ in range(random.randrange(5,10))]
>>> np.mean([v1==v2 for v1,v2 in zip_longest(c,d)]) * 100
25.0
>>>
>>> c
[1, 1, 5, 2, 8]
>>> d
[1, 2, 7, 2, 9, 5, 1, 1]
>>>
668デフォルトの名無しさん
2018/02/06(火) 11:09:26.24ID:4qlhSHmu669遊園地
2018/02/06(火) 11:10:04.68ID:dkDe9DfL 動的に処理すればメモリは食わない。
比較して、どういうデータが欲しいのか謎
データ形式はリスト(配列)に1つの値しか入って無い前提で良いの?
比較して、どういうデータが欲しいのか謎
データ形式はリスト(配列)に1つの値しか入って無い前提で良いの?
670遊園地
2018/02/06(火) 11:17:31.07ID:dkDe9DfL 既に解決してるだろうけどw
>>650
a=[1,2,3,4,5]
b=[1,2,3,5,4]
c=list(zip(a,b))
d=0
for i in c:
____if int(i[0])==int(i[1]):
________d+=1
print(d/len(c)*100)
>>650
a=[1,2,3,4,5]
b=[1,2,3,5,4]
c=list(zip(a,b))
d=0
for i in c:
____if int(i[0])==int(i[1]):
________d+=1
print(d/len(c)*100)
671デフォルトの名無しさん
2018/02/06(火) 11:23:03.09ID:4qlhSHmu >>669
そういうものなんですね。メモリは食わないんですか!
比較して何個一致してるか。何%一致してるかを知りたいだけです。
要素数が数十万入った場合も想定して
とにかく今は速度を最優先に考えております。
データはリスト内に1つの前提で構いません。
そういうものなんですね。メモリは食わないんですか!
比較して何個一致してるか。何%一致してるかを知りたいだけです。
要素数が数十万入った場合も想定して
とにかく今は速度を最優先に考えております。
データはリスト内に1つの前提で構いません。
672デフォルトの名無しさん
2018/02/06(火) 11:31:28.71ID:4qlhSHmu673遊園地
2018/02/06(火) 11:37:05.42ID:dkDe9DfL ってかw 一行で書けるのかww
地道にfor文回して行く方法しか思い付かない
地道にfor文回して行く方法しか思い付かない
674デフォルトの名無しさん
2018/02/06(火) 12:58:07.14ID:HnlXhHfV >>665
比較や条件分岐がなくなると爆高速になる
比較や条件分岐がなくなると爆高速になる
675デフォルトの名無しさん
2018/02/06(火) 13:06:04.52ID:M2Zv4/uX この種の処理ってcount_ifがあれば簡単にかけるんだよなあ
pythonにも標準であればいいんだが
https://gist.github.com/anonymous/6ae75c5dcd6767055005d6d771ef9edd
pythonにも標準であればいいんだが
https://gist.github.com/anonymous/6ae75c5dcd6767055005d6d771ef9edd
676デフォルトの名無しさん
2018/02/06(火) 13:20:28.81ID:oUdjyrC/ こうじゃね
a = np.array([1, 2, 3, 4, 5])
b = np.array([1, 2, 3, 5, 4])
np.sum(a == b) / a.size
a = np.array([1, 2, 3, 4, 5])
b = np.array([1, 2, 3, 5, 4])
np.sum(a == b) / a.size
677デフォルトの名無しさん
2018/02/06(火) 13:36:32.07ID:4qlhSHmu678デフォルトの名無しさん
2018/02/06(火) 14:12:55.44ID:DKsNWAcY >>676
ああ、これがいいな
ああ、これがいいな
679遊園地
2018/02/06(火) 15:40:07.54ID:dkDe9DfL そして、最後にこう言おう
かける 100 !!!
かける 100 !!!
680デフォルトの名無しさん
2018/02/06(火) 16:30:50.21ID:AHbr4rI2 >>676?シンプルだよね。可読性、処理速度、隙が無いと思うよ。だけど、おいら負けないよ。
えー、か、改良版が躍動する処理速度を皆さんに見せたいね。
>>> import time, random; import numpy as np; from itertools import zip_longest
>>> def oree(a,b):
____same = [True for v1,v2 in zip_longest(a,b) if v1==v2]
____return sum(same)/max(len(a), len(b)) * 100
>>> def omae(a,b):
____a = np.array(a)
____b = np.array(b)
____return np.sum(a==b) / a.size * 100
>>> oree([1,2,3,4,5],[1,2,3,5,4])
60.0
>>> def timer(func, *args):
____start = time.time()
____r = func(*args)
____end = time.time()
____print(f'{func.__name__} time = {end - start:.5f}, return = {r:.5f}')
>>> def test(func1, func2):
____a = [random.randrange(1,200) for _ in range(1000000)]
____b = [random.randrange(1,200) for _ in range(1000000)]
____timer(func1, a, b); timer(func2, a, b)
>>> test(oree, omae)
oree time = 0.04913, return = 0.50930
omae time = 0.10629, return = 0.50930
>>> test(oree, omae)
oree time = 0.05014, return = 0.49830
omae time = 0.09525, return = 0.49830
えー、か、改良版が躍動する処理速度を皆さんに見せたいね。
>>> import time, random; import numpy as np; from itertools import zip_longest
>>> def oree(a,b):
____same = [True for v1,v2 in zip_longest(a,b) if v1==v2]
____return sum(same)/max(len(a), len(b)) * 100
>>> def omae(a,b):
____a = np.array(a)
____b = np.array(b)
____return np.sum(a==b) / a.size * 100
>>> oree([1,2,3,4,5],[1,2,3,5,4])
60.0
>>> def timer(func, *args):
____start = time.time()
____r = func(*args)
____end = time.time()
____print(f'{func.__name__} time = {end - start:.5f}, return = {r:.5f}')
>>> def test(func1, func2):
____a = [random.randrange(1,200) for _ in range(1000000)]
____b = [random.randrange(1,200) for _ in range(1000000)]
____timer(func1, a, b); timer(func2, a, b)
>>> test(oree, omae)
oree time = 0.04913, return = 0.50930
omae time = 0.10629, return = 0.50930
>>> test(oree, omae)
oree time = 0.05014, return = 0.49830
omae time = 0.09525, return = 0.49830
681デフォルトの名無しさん
2018/02/06(火) 17:27:43.34ID:b1TJyJgg sum(same) は len(same) より速いのか
682デフォルトの名無しさん
2018/02/06(火) 17:43:13.98ID:b1TJyJgg >>> def oree2(a,b):
____same = [1 for v1,v2 in zip_longest(a,b) if v1==v2]
____return len(same)/max(len(a), len(b)) * 100
こっちが勝った
____same = [1 for v1,v2 in zip_longest(a,b) if v1==v2]
____return len(same)/max(len(a), len(b)) * 100
こっちが勝った
683遊園地
2018/02/06(火) 19:33:44.11ID:dkDe9DfL684遊園地
2018/02/06(火) 19:38:44.29ID:dkDe9DfL っと 思ったけど、import time挟んだら、実際の測定は遅いだなw
https://ideone.com/vN3ZZN
https://ideone.com/vN3ZZN
685デフォルトの名無しさん
2018/02/06(火) 19:44:00.26ID:AHbr4rI2 >>657
>Numpyを使えばもっと早く計算できるのではないかと思ったのです。
今のところ使わない方が速い その差約2倍!
array化するのに時間かかるからね array化済みならnumpyが爆速だけど
速度アップのためにとわざわざarray化すると遅くなるわけよ
>Numpyを使えばもっと早く計算できるのではないかと思ったのです。
今のところ使わない方が速い その差約2倍!
array化するのに時間かかるからね array化済みならnumpyが爆速だけど
速度アップのためにとわざわざarray化すると遅くなるわけよ
686デフォルトの名無しさん
2018/02/06(火) 20:30:18.40ID:6Tuhkz2p >>685
その差2倍って大きいな
やっている処理は激しく単純で時間かからにかもしれないが
実は前処理のarray化に時間が掛かっている可能性あるよな
こんなのはリストを複数部に分けて、それをマルチスレッドでやったほうが良いような感じがするが
その差2倍って大きいな
やっている処理は激しく単純で時間かからにかもしれないが
実は前処理のarray化に時間が掛かっている可能性あるよな
こんなのはリストを複数部に分けて、それをマルチスレッドでやったほうが良いような感じがするが
687デフォルトの名無しさん
2018/02/06(火) 20:39:48.44ID:6Tuhkz2p ちょっとどうなるかやってみた結果
omae time = 0.11590, return = 0.50740
oree time = 0.04688, return = 0.50740
oree2 time = 0.05340, return = 0.50740
yuenchi time = 0.06901, return = 0.50740
array化して処理したomaeは>>683の超ストレートなやり方(yuenchi)にすら負けている
omae time = 0.11590, return = 0.50740
oree time = 0.04688, return = 0.50740
oree2 time = 0.05340, return = 0.50740
yuenchi time = 0.06901, return = 0.50740
array化して処理したomaeは>>683の超ストレートなやり方(yuenchi)にすら負けている
688デフォルトの名無しさん
2018/02/06(火) 20:42:15.54ID:Yjdsw3bo リストの要素数5個で比較したらそんなもんでしょ。
5個ならNumpy使う必要ない。
もっと要素数を増やして比べてみたら?
5個ならNumpy使う必要ない。
もっと要素数を増やして比べてみたら?
689デフォルトの名無しさん
2018/02/06(火) 20:52:22.26ID:6Tuhkz2p690デフォルトの名無しさん
2018/02/06(火) 21:22:17.52ID:AHbr4rI2 いや、、見ての通り要素数は100万個なんだが・・
691デフォルトの名無しさん
2018/02/06(火) 21:24:46.21ID:akwhBP1m 俺レベルだと20マンコがいいとこだな
100マンコとかうらやましくもあり
100マンコとかうらやましくもあり
692デフォルトの名無しさん
2018/02/06(火) 21:51:36.30ID:aB1vC+tG 9999マンコの次でいい
693デフォルトの名無しさん
2018/02/06(火) 22:24:44.53ID:4qlhSHmu694デフォルトの名無しさん
2018/02/06(火) 22:33:40.32ID:4qlhSHmu >>680
おもしろい実験ですね。
おもしろい実験ですね。
695デフォルトの名無しさん
2018/02/06(火) 23:29:51.59ID:AHbr4rI2 >>693
どうなんでしょ?ってどういうこと? numpyから読み込めばarray型で取得できるみたいだよ
ファイルからの読込含めて処理速度がどなるかってこと?
どうなんでしょうね?ファイル読込速度が同じなら当然oree2が最速だろうし、
np.loadtxtのファイル読込速度が爆速なら巻き返せるし・・
おもしろ実験やってみてください!
>>> import numpy as np
>>> data = np.loadtxt('test.csv',delimiter=',')
>>> data
array([[ 1., 2., 3., 4., 5.],
[ 1., 2., 3., 5., 4.]])
>>> a = data[0]; b = data[1]
>>> np.sum(a==b) / a.size * 100
60.0
>>>
>>> from itertools import zip_longest
>>> import csv
>>> with open('test.csv') as f:
____reader = csv.reader(f)
____data = [row for row in reader]
____a = data[0]; b = data[1]
____same = [1 for v1,v2 in zip_longest(a,b) if v1==v2]
____len(same)/max(len(a), len(b)) * 100
60.0
>>>
どうなんでしょ?ってどういうこと? numpyから読み込めばarray型で取得できるみたいだよ
ファイルからの読込含めて処理速度がどなるかってこと?
どうなんでしょうね?ファイル読込速度が同じなら当然oree2が最速だろうし、
np.loadtxtのファイル読込速度が爆速なら巻き返せるし・・
おもしろ実験やってみてください!
>>> import numpy as np
>>> data = np.loadtxt('test.csv',delimiter=',')
>>> data
array([[ 1., 2., 3., 4., 5.],
[ 1., 2., 3., 5., 4.]])
>>> a = data[0]; b = data[1]
>>> np.sum(a==b) / a.size * 100
60.0
>>>
>>> from itertools import zip_longest
>>> import csv
>>> with open('test.csv') as f:
____reader = csv.reader(f)
____data = [row for row in reader]
____a = data[0]; b = data[1]
____same = [1 for v1,v2 in zip_longest(a,b) if v1==v2]
____len(same)/max(len(a), len(b)) * 100
60.0
>>>
696デフォルトの名無しさん
2018/02/06(火) 23:47:01.69ID:hBAgagno697デフォルトの名無しさん
2018/02/07(水) 01:10:46.36ID:IL95H+4W698デフォルトの名無しさん
2018/02/07(水) 01:42:47.04ID:+vEZBiPj >>696
そうなのか...
シミュレーション結果を折れ線グラフにするだけだから,グラフパッケージにこだわりはないんだよね
問題は,そもそもpyqtの構造を理解できていないというところなんだ...
なんちゃってで出来るかと思ったんだけど...また挑戦しようと思います
そうなのか...
シミュレーション結果を折れ線グラフにするだけだから,グラフパッケージにこだわりはないんだよね
問題は,そもそもpyqtの構造を理解できていないというところなんだ...
なんちゃってで出来るかと思ったんだけど...また挑戦しようと思います
699デフォルトの名無しさん
2018/02/07(水) 04:20:33.93ID:at73gTvw NumPyが遅かったらCuPy使えばいい
Pythonが遅かったらCython使えばいい
Pythonが遅かったらCython使えばいい
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国外務省報道官 高市首相発言撤回なければ「断固たる対抗措置」 ★2 [蚤の市★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★4 [ぐれ★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★3 [BFU★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 [お断り★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★2 [おっさん友の会★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 [ぐれ★]
- 【高市悲報】インドネシアの山が大爆発。日本への影響調査中。2025/11/19 19:35 [253245739]
- 【悲報】アメリカ軍「ジャップの自衛隊は上官の指示がないと何も出来ない無能者揃い、だから弱い」 [616817505]
- 【速報】中国政府、ゲームを禁輸。原神やブルアカ、荒野行動が日本で影響 [347751896]
- 【高市悲報】北朝鮮🇰🇵、大人しすぎるwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww [573041775]
- 中国「私達が怒ってるのは日本の政治家に対してで、日本の観光客や日本企業はこれまで通り歓迎する。これこそが大国としての余裕」 [377482965]
- カナダ「ジャップさあ、ファンデーションの「標準色」ってなんなんだい?ひとの肌の色に「標準」があるとでもいうのかい?」 [377482965]
