くだすれPython(超初心者用) その36

■ このスレッドは過去ログ倉庫に格納されています
2018/01/01(月) 20:18:42.82ID:iOcRvNll
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その35
http://mevius.5ch.net/test/read.cgi/tech/1496411341/
VIPQ2_EXTDAT: checked:default:1000:512:----: EXT was configured
2018/02/22(木) 10:29:53.24ID:Nj0qGp8Q
実行時のカレントディレクトリがどこになるかだけの話だから、実行のオプションを見れば良い
2018/02/22(木) 18:10:48.03ID:Of4U3Pd7
Windows7にpython.orgからダウンロードしたPython3.3〜3.6の
パッケージをインストールして、venvで使い分けています

わけあってAnacondaを入れたいんですが、このままインストールすると
今の3.3〜3.6のPythonは使えなくなるんでしょうか?
もしそうなら、共存させる方法を教えてください
2018/02/22(木) 18:37:09.28ID:Vbb1zIx/
質問です
watchdogを使用してディレクトリ監視しようとしてますが
複数のディレクトリを一度に監視出来るでしょうか
2018/02/22(木) 18:50:25.01ID:jhbLbKSQ
>>493
共存できるとおもうぞ
うちはWin7で2.x系とAnacondaが共存している
2018/02/23(金) 01:27:52.45ID:ubW9cswG
VisualStudioなら「ツール」→「オプション」でPythonEnviroment追加出来る
穴コンダを別のディレクトリにインストールすれば、公式版といつでも切り替え出来る
2018/02/23(金) 01:34:17.45ID:BB6IXrbG
>>494
出来るかは知らないが、googleでの検索語をwatchdog +ディレクトリとかして
気合を入れて検索して、それでお前がやろうとしていることをやっているようなことが
出てこなかったらできないと思って良いんじゃないのか
2018/02/23(金) 08:05:06.50ID:hStR0ZAf
494は試してないの?
2018/02/23(金) 08:39:59.70ID:3zWDV7Rk
>>497
結構調べましたが出てこなかったので出来ないかもしれないです

>>498
フォルダ1つに対してであれば出来ましたが複数となるとそもそもどうやれば良いのかわからず質問した次第です
2018/02/23(金) 15:58:12.68ID:0tA6Y4q1
pathさえ正しければ共存可能
良く分からなくなったらvenvにこだわらず
set PATH=
で全部リセットして正しい値に総入れ替え
2018/02/23(金) 15:59:36.86ID:0tA6Y4q1
>>499
windowsならディレクトリに監視属性付けて
notifyeventを自分のプログラムでcatchし続けるサービスを書くとかで桶
2018/02/23(金) 16:17:23.36ID:scrR/Weo
1 18.08 18.08
2 13.61 31.69
3 13.62 45.31
4 13.86 59.17
5 13.98 1:13.15
6 14.18 1:27.33
7 14.50 1:41.83
8 14.47 1:56.30
9 14.42 2:10.72
10 14.22 2:24.94
11 14.43 2:39.37
F 14.52 2:53.89



1 18.19 18.19
2 13.66 31.85
3 13.67 45.52
4 13.80 59.32
5 13.73 1:13.05
6 13.90 1:26.95
7 14.41 1:41.36
8 14.49 1:55.85
9 14.82 2:10.67
10 14.80 2:25.47
11 14.93 2:40.40
F 15.08 2:55.48
2018/02/23(金) 20:05:41.02ID:DhooUh4n
すいません。教えてください。
swigでC++のクラスをpythonに移植したのですが、
そのクラスのオブジェクトをdeepcopyでコピーしようとしたらpickleできないとかいうエラーになりました。
copy_regになにか関数を登録するとdeepcopyできるようになるらしいのですが、
ググってもやり方がよくわかりません。
C++のオブジェクトをdeepcopyできるようにするにはどうしたらいいでしょうか。
2018/02/23(金) 21:46:17.20ID:Wg8Z236B
idleで編集してるんですがshift+tabでインデントが左に戻らずに右に進んでしまいインデントを戻せない

idleの設定変えればいいと思うんですがどこ変えればいいんでしょうか
2018/02/23(金) 21:52:21.78ID:Wg8Z236B
あっ出来た
気にしないでください
506503
垢版 |
2018/02/24(土) 00:22:57.66ID:KZ58FcHI
deepcopy出来ました。
お騒がせしました。
2018/02/24(土) 17:08:30.57ID:Dd1othiR
ideとかエディタでホームポジションのまま→に移動できるショートカットってない?""の後とか()の後にいちいち→おすとホームポジションから手を話さなくてはならなくてめんどう
2018/02/24(土) 18:23:24.40ID:UjV7lXbs
ググって検索結果に出てこなければできないってことは無いでしょw
子供かよw
509デフォルトの名無しさん
垢版 |
2018/02/24(土) 18:29:40.45ID:MHMExzVL
Pythonで作ったプログラムを他の人に渡すにはわざわざ環境用意してもらわないといけないの?
2018/02/24(土) 18:50:17.53ID:ozvKRveg
AWSにデプロイしてWebサービスにしろ
511デフォルトの名無しさん
垢版 |
2018/02/24(土) 20:20:49.04ID:S7UxFmQS
webがないと何も出来んのかweb屋はw
2018/02/24(土) 20:42:39.96ID:QCDdZlsY
おもちゃのパソコンでなければPythonは入ってますよ
おもちゃのパソコンでなければ、ね
2018/02/24(土) 22:18:14.36ID:8UiUrtqZ
なおバージョン
2018/02/25(日) 00:15:13.72ID:mDxCkWyO
Python良いよ
2018/02/25(日) 01:33:29.46ID:pcyqC+jB
Windows10 Home で、WSL で、MS Store から、Ubuntu 16.04 LTS をダウンロードして、
Ruby をインストールする

最初から、Python, vim も入っている

200MB ほどダウンロードして、850MB ほどの容量。
ただし、GUI版ではなく、基本的な機能しかないけど

だから、Windows10 Home でも、開発環境として、Ubuntu が使える。
ただし、サーバーのように常時実行はできない。
開発環境として使えるだけ

Docker も使えない
2018/02/25(日) 01:54:33.31ID:jUteSjvv
PythonはRubyとかいううんことは違ってUNIXに依存してないのでPythonでも普通に使えるよ
というかWinで使ってる人が一番多い
2018/02/25(日) 05:52:54.87ID:z/Jlakx1
最近じゃネコも杓子も蛇使いな感じだな
518デフォルトの名無しさん
垢版 |
2018/02/25(日) 09:19:09.54ID:tVogG6Wu
>>517
蛇使いてパイソンの事か?なんか困るん?パイソン流行ると?
2018/02/25(日) 11:18:47.46ID:V9Ffm6ai
pythonが生産性高いと呼ばれる理由は?
2018/02/25(日) 12:15:43.20ID:ZfD472TI
星占いで13番目に出てきた蛇使い座
2018/02/25(日) 12:22:49.03ID:6Rr2IhVo
>>519
型を書かないことでコード量が減るから
JavaやC#などのコード量のうち、10%くらいは型関連のキーワードだろう
2018/02/25(日) 14:17:03.05ID:HxcqvxGx
リストの演算やスライスが1文でまとめて出来ること、
pandasやmatplotlibの様な使いやすいモジュールがあること、かな

C#やC++の型宣言はvarやautoで推論出来るから、昔ほど面倒ではなくなってる
523デフォルトの名無しさん
垢版 |
2018/02/25(日) 15:15:27.02ID:DMbXpP0c
>>518
裾野が広がり過ぎると
ゴミみたいな質問でスレが埋まる
524デフォルトの名無しさん
垢版 |
2018/02/25(日) 16:09:26.99ID:raNwv933
python便利です
csv・xml出力の実験データのまとめとか
製品の異物確認にもopencv使えるし
使える使えないで仕事の処理量は段違い
惜しむのは40手前で出会った事

中学ぐらいでpython教えれば
高校の数学が面白くなるのになとおじさんは思いました
525デフォルトの名無しさん
垢版 |
2018/02/25(日) 16:18:04.88ID:DMbXpP0c
そだねーjapan
2018/02/25(日) 16:49:04.04ID:bfs3ZT86
昔は最初にやるべき言語はPASCALって言われていたが今はPythonだな
527デフォルトの名無しさん
垢版 |
2018/02/25(日) 17:51:58.41ID:tVogG6Wu
>>523
どうせおまえもゴミみたいなもんなんやから気にすんなよそんな事w
2018/02/25(日) 20:52:09.78ID:VufOLdYM
>>523
お前がいる時点で底だわ
裾が広いほうがレベル上がるだろ
529デフォルトの名無しさん
垢版 |
2018/02/25(日) 23:01:05.83ID:4H5jUe5i
プログラミング自体が初めてで、pythonに興味を持って始めました。

1行4列の行列がnあります。要素は全て数字で、データの抜けはありません。

[100,50,250,300]
[101,20,150,150]
[101,30,200,150]
[102,80,100,200]
   ・
   ・

やりたいことは、n行4列の1つの行列にまとめたいです。

ただし、条件がありまして、1列目の要素同士が等しいときは、

1列目 そのまま 上の事例ですと、101
2列目 2列目の要素の合計 20+30=50
3列目 次の式で演算  Σ(2列目*3列目)/Σ(2列目)
 (20*150+30*200)/(20+30)=180

4列目 そのまま 上の事例ですと、150

1列目の要素に重複がある場合、上のような演算をしながら、
行列に整理したいです。ですので、完成した行列の行は初めのn行より少なくなります。

完成形
[100,50,250,300]
[101,50,180,150]
[102,80,100,200]

すみませんが、ご教示いただけますよう、お願いします。
2018/02/25(日) 23:44:20.79ID:Uk0i7a7U
>529
仕様が不明なところがあるので質問します。
1列目が同じだったら、4列目も必ず同じになるのですか?
もし、そうでない場合、4列目はどうやって計算するのですか?
531デフォルトの名無しさん
垢版 |
2018/02/25(日) 23:54:15.75ID:4H5jUe5i
>>530
不十分な書き方をして申し訳ありません。 今回の場合、1列目がそれぞれ等しい場合は、4列目もそれぞれ等しくなります。異なってしまうことはないという前提です。ですので、2列目、3列目で所定の演算をして、1列目の要素が等しいもの同士を集約します。
これでご理解いただけましたでしょうか。
もし何かございましたら、ご指摘ください。よろしくお願いいたします。
2018/02/26(月) 00:45:55.72ID:rDF2fLvE
>>529
宿題の丸投げのような感じだな
動かなくてもよいから自分でやってみたpythonコードだせないのか
2018/02/26(月) 00:49:05.69ID:rDF2fLvE
いまはpythonの基礎的なことすらわからないのに>>529のようなのを
やる奴が普通なのか?
2018/02/26(月) 03:11:45.17ID:RRYIMw3l
昔からいたよ
ここ2~3年までPythonは日本語圏でドマイナーだったから目につかなかっただけ
それまでのド素人はVBかPHPかRubyをやっていた
535デフォルトの名無しさん
垢版 |
2018/02/26(月) 06:35:30.76ID:CZMjr0z3
>>532
事務系社会人です。独学なので宿題ではないです。自分用の簡単なツールを作りたいというのがきっかけです。
始めはnumpyで、行列内部で要素の演算させるつもりでしたが、うまくできませんでした。
次にpandasで、表形式でやろうとしましたが、今一わかりません。

すみません、今日の夜にでも、不完全な自分のコード提示します。
お目通しいただきご教示くださるとありがたいです。
536デフォルトの名無しさん
垢版 |
2018/02/26(月) 07:24:03.85ID:GTfBnsec
>>533
ブーメラン乙です
537デフォルトの名無しさん
垢版 |
2018/02/26(月) 07:37:58.92ID:IuGyHUGL
>>524
Juliaを中学生から教えたらいい。sympy使えるし。
538デフォルトの名無しさん
垢版 |
2018/02/26(月) 07:41:38.60ID:IuGyHUGL
>>526
scratchからやったら。
2018/02/26(月) 07:56:08.70ID:yswRgVjF
>>538
あれは言語というよりオーサリングツールな気がするな
540遊園地
垢版 |
2018/02/26(月) 10:11:37.79ID:cTQBZcAI
>>535
目的を人間っぽく書いて、その為の実現したいコード処理を記載
読み込んだデータ形式も簡易表現で構わないから、コードにコメント等で書いて。


numpyで、行列内部で要素の演算
どの様な演算なのか? 受け取るデータ形式は、どの状態なのか?
何が想定と違うのか?


pandasで、表形式
どの様な表なのか? 上記と同じ


  コード書きや想像可能な命令後のキーワド検索は、後回し。
2018/02/26(月) 10:19:53.48ID:oHOLuzwx
なんかnumpyって使いにくいのよね
全部pandasでやっちゃう
計算速度とかは知らん
2018/02/26(月) 12:29:30.85ID:wtxU8Pq4
>531
こんな感じかな?
https://ideone.com/mxwgP3

numpy panda なら、groupby?とかの集計用の関数を使うのだろうけど、
どちらも知らないので、素のpythonで書いた。
543デフォルトの名無しさん
垢版 |
2018/02/26(月) 14:50:55.91ID:Q2qtK4xZ
数字(str)
2018/02/26(月) 14:51:52.89ID:ZymD9F8g
ROSの勉強意味不明
2018/02/26(月) 15:55:59.62ID:NcBRNf65
before_data = [[100,50,250,300], [101,20,150,150], [101,30,200,150], [102,80,100,200], [102,20,150,200]]
hashed_data = before_data.group_by { |row| row[0] }

#=> {100=>[[100, 50, 250, 300]], 101=>[[101, 20, 150, 150], [101, 30, 200, 150]], 102=>[[102, 80, 100, 200], [102, 20, 150, 200]]}

# 配列の蓄積器に、結果を入れながら、処理を繰り返す
result = hashed_data.each_with_object([]) do | (key, rows), ary |
if rows.length >= 2
puts "rows"
p rows

# 配列の蓄積器に、結果を入れながら、処理を繰り返す
r = rows.each_with_object([]) do | row, ary2 |
if ary2.length == 0
ary2.push *row # 展開
ary2[2] = row[1] * row[2]
else
ary2[1] += row[1]
ary2[2] = ary2[2] + row[1] * row[2]
end
end
r[2] = r[2] / r[1].to_f
ary.push r
else
ary.push rows.flatten
end
end
p result

Ruby で作った。結果
[[100, 50, 250, 300], [101, 50, 180.0, 150], [102, 100, 110.0, 200]]
546デフォルトの名無しさん
垢版 |
2018/02/26(月) 16:23:21.61ID:B76OQfBv
プログラミングのレポート課題としていいテーマありますか?
2週間くらいで0から理解できる内容で
機械学習とか候補に入ってるんですが2週間じゃキツイですか?
2018/02/26(月) 17:30:55.40ID:noERqLSe
>>545
汚いend糞コード貼るな!
2018/02/26(月) 17:52:45.87ID:OBKUk/zi
>>546
1. ユーザーが入力した何らかの文字列を受け取る
2. 1. の文字列が以前までに入力されたものと同じなら、そのときの回答と同じ回答を表示する
3. そうでない場合は、回答をユーザーに入力させ、入力内容を回答としてそのまま表示する
これで教師データに対しては精度100%のAIができる
2週間ならこんなもんだろ
2018/02/26(月) 18:08:45.28ID:91BhH+0u
今日からpythonを勉強し始めました
ここのfibo()関数が、fibo(37)ぐらいで恐ろしく時間がかかる(10秒ぐらい)んですが、
こんなものなんでしょうか?あまりに遅すぎると思うのですが。。。
試しにcで書き直したらfibo(37)が一瞬で終わりました。
環境:Windows10上のWSL+Ubuntu上のpython3.5.2、CPU corei7
https://qiita.com/Wreulicke/items/e8f7290f6b4ff98e6142
2018/02/26(月) 18:22:50.71ID:wtxU8Pq4
数千万回の関数呼び出ししてるから、Pythonなら10秒くらいで正常。
100万回の単純な演算なら、1秒以内でいける。
1000万回の演算だと、かなり単純なのでも、1秒以内は厳しい、というのが相場かな。
cやc++よりは、50倍くらい遅いよ。
2018/02/26(月) 18:25:26.87ID:91BhH+0u
>>550
あーそうなんですね!
pythonは科学計算ではなくテキスト処理?とか
ぱっと簡単に処理を書くのに向いてそうですね
ありがとうございました!
2018/02/26(月) 18:56:45.45ID:/Zv3SJNj
俺のPCだとフィボナッチ計算
Pythonでも0.1秒くらいで終わるけど。。。
2018/02/26(月) 18:59:54.39ID:/Zv3SJNj
しかも、CPU corei5のオンボロなんだけどw
どういうことやw
2018/02/26(月) 19:05:04.37ID:wtxU8Pq4
>551
科学計算するときは、numpy使うらしい。

>552
速いPC使ってるんだね。
うちのi7 では13.5秒かかった。
アルゴリズムを変えて、メモ化したり、ループに書き直したりすれば、一瞬で終わるけど。。
2018/02/26(月) 19:07:56.71ID:/Zv3SJNj
>>554
あ、すまん
>>549のURL見てなかった
自分で勝手に関数作ってたわw

でも、URLの関数使っても3秒くらいで終わったわ
2018/02/26(月) 19:10:09.18ID:wtxU8Pq4
>553
corei3なの?
ideone.com で、pypy2.7で計算したら、0.56 secまで速くなったけど、0.1 sec には届かない。

リンク先のコードと違うので計算したのでは?
2018/02/26(月) 19:11:41.89ID:wtxU8Pq4
>555
行き違い失礼。
速度差は、デスクトップとノートPCの違いかな?
2018/02/26(月) 19:12:19.41ID:/Zv3SJNj
>>556
自分で関数作ってたスマソ
2018/02/26(月) 19:35:17.64ID:NcBRNf65
君ら、末尾再帰とか、lazy とかを、知らんだろ
560デフォルトの名無しさん
垢版 |
2018/02/26(月) 20:07:38.88ID:GTfBnsec
あぁ、末尾再帰とか、lazyとかね、昔はよくやったよね懐かしいわw
まあ今は機械学習が全盛だし、もう末尾再帰とか、lazyとかの時代じゃないっしょw
2018/02/26(月) 20:10:49.36ID:noERqLSe
末尾再帰はみみっちい、男らしくない考え。
そんなんだったら最初からforループ使っとけ
562デフォルトの名無しさん
垢版 |
2018/02/26(月) 20:28:42.84ID:YPK1H5Uc
Jupyterから実行したかどうか判定する方法ってあります?
2018/02/26(月) 21:50:30.71ID:BkZJLYsg
質問文が酷すぎて答える気にもなれない
564デフォルトの名無しさん
垢版 |
2018/02/26(月) 21:59:17.46ID:mANSF+RP
>>563
お前答えられへんだけやんけwww
ちなみに、俺は知らん
2018/02/26(月) 22:21:56.94ID:/Zv3SJNj
>>562
Jupyterを起動
print("Hello World")
と入力

Hello World
と表示されればJupyterはちゃんと動作してるよ
2018/02/26(月) 22:30:00.38ID:QuhxkvaQ
>>564
知らないのはお前、俺、>>562ぐらいだろう
このスレの連中は遊園地を筆頭に人間性に大問題ある奴ばかりなために
知っているが教えない奴が圧倒的。pyスレに来る目的が基地ル、雑談するためだからな
2018/02/26(月) 23:12:09.84ID:JMtzX8TQ
PythonやりたいならwindowsよりLinuxですか?
568デフォルトの名無しさん
垢版 |
2018/02/26(月) 23:30:50.93ID:Q2qtK4xZ
>>567
何を作りたいかでかわってくる
それがないならどっちでもいいんじゃないですかね
2018/02/26(月) 23:34:16.77ID:JMtzX8TQ
>>568
githubでソース拾ってきて動かしたいです。
570529=535
垢版 |
2018/02/26(月) 23:38:23.76ID:CZMjr0z3
>>542
ご面倒をおかけしました。
ありがとうございました。
コードの中身をよく拝見させていただき、
これからpythonを勉強する励みにいたします。
ありがとうございました。
571529=535
垢版 |
2018/02/26(月) 23:41:34.76ID:CZMjr0z3
>>540 遊園地様
>>542様が回答を示していただきましたが、下記のとおり
私のポンコツコードを示したいと存じます。

再掲 
[100,50,250,300]
[101,20,150,150]
[101,30,200,150]
[102,80,100,200]
   ・
   ・
目的
・ 1列目:商品コード、2列目:数量、3列目:仕入金額(単価)、1列目:販売金額(単価)です。
  上記例では、数字を単純化しています。また実際は、重複含め100以上のデータ(行)があります。
・  重複している商品コードを整理し、その場合、数量の合算、金額(単価)の加重平均を行い、
  最終的に、きれいな行列に整理したい。
・  データはCSVで与えられている。
・ Excel上で計算やVBAも使用できるだろうが、CSVのデータを取込み、pythonの中?で計算して、結果を出してみたかった。

以下、連投します。すみません。
572529=535
垢版 |
2018/02/26(月) 23:47:35.71ID:CZMjr0z3
#coding: UTF-8

import pandas as pd
import numpy as np

nan = float("nan")

#データ読込
data = np.loadtxt('data.csv',delimiter=',',dtype='float',skiprows=0) #データ全体を読込
data_code = data[:,0]                                  #データ全体から「商品コード」部分を取出す 

df1 = pd.DataFrame(
{'CD': data[:,0],
'quantity':data[:,1],
'@': data[:,2]},
columns=['CD', 'quantity', '@'])
print(df1)                       # とりあえず、表みたいな形式になるか確認してみた

data_code = np.array(data_code.reshape(len(data_code),))   # 商品コードの重複を削除してみた
print(data_code)

# ここから重複のない純粋な商品コードをkeyにして、そもそものデータ全体を対象に、上から回して行って、
 Excelのvlookup関数のような感じで、2列目、3列目の数字を取出し、目的の演算を行おうとしていた。
573529=535
垢版 |
2018/02/26(月) 23:48:06.01ID:CZMjr0z3
質問では、1行4列の行列が、nあるとしましたが、本当はCSV全体で1つの行列になると思いましたので、
numpyを使って、重複を発見したときに、i行2列、同3列の数値を取出し、目的の演算をしようと初め思っていました。
しかし、行列の内部での要素の取出しが今一つわかりませんでした。(初心者用の本しか持っておらず、ネット頼りでしたが
必要な情報を見つけられませんでした。
それで、表形式になるpandasのDataframeを用いてみましたが、重複除きの商品コードから、
当該の行データを取出し、同様に2列目、3列目の数値を用いて演算させるのがわかりませんでした。

かなり自分でも能力が足りないのに、欲張っていたかと思います。
反省いたします。
機械学習に興味関心がありますので、今後、pythonの勉強を頑張りたいです。
ご迷惑でなければ、また皆様にご教示いただきたいです。
2018/02/27(火) 00:24:03.42ID:WS3TaZ0C
行列の大きさ次第では計算量がすごいことなるで

メモリとか時間を気にせんのと、初心者っぽくやるなら、numpyのuniqueをまず使ってループ回すかな
2018/02/27(火) 00:37:56.53ID:tquTMsI7
>>571
最初からその説明(具体的な処理目的説明)していたら展開が違ったような気がする
俺なら
重複している商品コードを整理し
全データ(100以上のデータ)で重複している商品コードを洗い出す処理をして
{101:[20,150,150], [30,200,150]} <= valueが2個以上なら重複とわかる
とかを生成して、
これ(商品コード101)に対して数量の合算、金額(単価)の加重平均を行うような処理にするが
2018/02/27(火) 00:47:13.10ID:FXmriiXi
import numpy as np
a=np.array([0,1,2,3,4,5])
b=np.array([0,1,2,3,4,6])
print(np.sum(a == b))
>>5

numpyを使って2つの配列の要素が一致している個数を求めました。
配列が2つの場合は上のコードで求まるのですが、
下の様に3つの配列がある場合、全ての配列の要素が一致する個数を求める場合はどうすればよいのでしょうか?

a=np.array([0,1,2,3,4,5])
b=np.array([0,1,2,3,4,6])
c=np.array([4,1,2,3,4,5])
>>4
2018/02/27(火) 00:48:09.81ID:FXmriiXi
できるだけ、forやifなどを使わない簡単な方法を探しております。。。
よろしくお願いします。
2018/02/27(火) 01:03:09.36ID:P5BFQcr1
>>565
一休さん乙。
2018/02/27(火) 01:09:04.37ID:Rrp6rDyp
>576

numpyは使ったことないから、リファレンス見ながら適当に書いた。
a==b==cだとエラーになるので、a==bとb==cをlogical_andでつないだら動いた。

print(np.sum(np.logical_and(a == b, b == c)))
2018/02/27(火) 01:16:19.46ID:FXmriiXi
>>579
ありがとうございます。
自分も a==b==c でエラーがでて困ってました。
とても助かりました。
2018/02/27(火) 07:33:45.62ID:WS3TaZ0C
>>577
forやif使う方が(作るのは)簡単なんだけど…
お前、自分でどうにかする気全くないってことじゃん
582デフォルトの名無しさん
垢版 |
2018/02/27(火) 07:52:03.09ID:ckmPPEEZ
(作るのは)
どこでこんな括弧の使い方教えとんねんwww
583デフォルトの名無しさん
垢版 |
2018/02/27(火) 08:47:20.59ID:4ixkfDNT
学校(幼少期の)だよ
2018/02/27(火) 10:04:13.40ID:j7JSqS95
は?お前Pythonスレで何言ってんの?
作るのはって引数に決まってんじゃん
585遊園地
垢版 |
2018/02/27(火) 10:59:17.74ID:gK8Y9TGp
思った以上に難しいな。
発狂モードで、人から聴きながら、公式ドウキュメントと睨めっこ
してるけど、未だに熟考してるな。

defaultdict
items()

https://ideone.com/rbwrKz
2018/02/27(火) 11:05:15.46ID:FXmriiXi
>>581
forやifを使う方法なら自分でも分かるので。。。
コードがシンプルで動作が早いものを求めてました。
賢いあなたなら素晴らしい解決策をご存知では?
587遊園地
垢版 |
2018/02/27(火) 11:06:31.38ID:gK8Y9TGp
間違えた。 こっちで良かった。
https://ideone.com/M2W034
588遊園地
垢版 |
2018/02/27(火) 11:09:43.96ID:gK8Y9TGp
結合前のindexが有るから適当に逆算して。
データが最後まで欲しいなら んぐぅうううーーー ::

defaultdict
lambda
enumerate
append
2018/02/27(火) 11:26:30.40ID:9tU+EFzs
a=set(a) ; b=set(b) ; c=set(c)
print(len(list(a&b&c)))
これじゃあかんのか?
2018/02/27(火) 12:09:23.76ID:Icbybavp
>589
setは順番を保持しないからダメ
591遊園地
垢版 |
2018/02/27(火) 12:16:23.97ID:gK8Y9TGp
おちんぽっぽ  おちんぽっぽ

   ぶひひいいいいいいいいいいいいいいいい

l=[[100,50,250,300],[101,20,150,150],
[101,30,200,150],[102,80,100,200]]

r=[]
for i in l:
□r.append(['ID_'+str(i[0]),i[1:3]])


from collections import defaultdict
d = defaultdict(lambda :[[], []])


for i, j in enumerate(r):
□d[j[0]][0] += [j[1]]
□d[j[0]][1] += [i]


for key in sorted(d):
□print(key,d[key])
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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