1 名前:デフォルトの名無しさん mailto:sage [2018/01/01(月) 20:18:42.82 ID:iOcRvNll.net] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その35 mevius.5ch.net/test/read.cgi/tech/1496411341/ VIPQ2_EXTDAT: checked:default:1000:512:----: EXT was configured
509 名前:デフォルトの名無しさん mailto:sage [2018/02/20(火) 22:46:58.37 ID:abfzbO0r.net] >>490 >>491 ありがと visual studioのマニュアル読んでみる
510 名前:デフォルトの名無しさん mailto:sage [2018/02/20(火) 23:19:45.90 ID:g27uq/qk.net] vsはslnかpyprojがあるディレクトリからの相対パスで読み書き出来ると思う
511 名前:デフォルトの名無しさん mailto:sage [2018/02/22(木) 10:29:53.24 ID:Nj0qGp8Q.net] 実行時のカレントディレクトリがどこになるかだけの話だから、実行のオプションを見れば良い
512 名前:デフォルトの名無しさん mailto:sage [2018/02/22(木) 18:10:48.03 ID:Of4U3Pd7.net] Windows7にpython.orgからダウンロードしたPython3.3〜3.6の パッケージをインストールして、venvで使い分けています わけあってAnacondaを入れたいんですが、このままインストールすると 今の3.3〜3.6のPythonは使えなくなるんでしょうか? もしそうなら、共存させる方法を教えてください
513 名前:デフォルトの名無しさん mailto:sage [2018/02/22(木) 18:37:09.28 ID:Vbb1zIx/.net] 質問です watchdogを使用してディレクトリ監視しようとしてますが 複数のディレクトリを一度に監視出来るでしょうか
514 名前:デフォルトの名無しさん mailto:sage [2018/02/22(木) 18:50:25.01 ID:jhbLbKSQ.net] >>495 共存できるとおもうぞ うちはWin7で2.x系とAnacondaが共存している
515 名前:デフォルトの名無しさん mailto:sage [2018/02/23(金) 01:27:52.45 ID:ubW9cswG.net] VisualStudioなら「ツール」→「オプション」でPythonEnviroment追加出来る 穴コンダを別のディレクトリにインストールすれば、公式版といつでも切り替え出来る
516 名前:デフォルトの名無しさん mailto:sage [2018/02/23(金) 01:34:17.45 ID:BB6IXrbG.net] >>496 出来るかは知らないが、googleでの検索語をwatchdog +ディレクトリとかして 気合を入れて検索して、それでお前がやろうとしていることをやっているようなことが 出てこなかったらできないと思って良いんじゃないのか
517 名前:デフォルトの名無しさん mailto:sage [2018/02/23(金) 08:05:06.50 ID:hStR0ZAf.net] 494は試してないの?
518 名前:デフォルトの名無しさん mailto:sage [2018/02/23(金) 08:39:59.70 ID:3zWDV7Rk.net] >>499 結構調べましたが出てこなかったので出来ないかもしれないです >>500 フォルダ1つに対してであれば出来ましたが複数となるとそもそもどうやれば良いのかわからず質問した次第です
519 名前:デフォルトの名無しさん mailto:sage [2018/02/23(金) 15:58:12.68 ID:0tA6Y4q1.net] pathさえ正しければ共存可能 良く分からなくなったらvenvにこだわらず set PATH= で全部リセットして正しい値に総入れ替え
520 名前:デフォルトの名無しさん mailto:sage [2018/02/23(金) 15:59:36.86 ID:0tA6Y4q1.net] >>501 windowsならディレクトリに監視属
521 名前:性付けて notifyeventを自分のプログラムでcatchし続けるサービスを書くとかで桶 [] [ここ壊れてます]
522 名前:デフォルトの名無しさん mailto:sage [2018/02/23(金) 16:17:23.36 ID:scrR/Weo.net] 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
523 名前:デフォルトの名無しさん mailto:sage [2018/02/23(金) 20:05:41.02 ID:DhooUh4n.net] すいません。教えてください。 swigでC++のクラスをpythonに移植したのですが、 そのクラスのオブジェクトをdeepcopyでコピーしようとしたらpickleできないとかいうエラーになりました。 copy_regになにか関数を登録するとdeepcopyできるようになるらしいのですが、 ググってもやり方がよくわかりません。 C++のオブジェクトをdeepcopyできるようにするにはどうしたらいいでしょうか。
524 名前:デフォルトの名無しさん mailto:sage [2018/02/23(金) 21:46:17.20 ID:Wg8Z236B.net] idleで編集してるんですがshift+tabでインデントが左に戻らずに右に進んでしまいインデントを戻せない idleの設定変えればいいと思うんですがどこ変えればいいんでしょうか
525 名前:デフォルトの名無しさん mailto:sage [2018/02/23(金) 21:52:21.78 ID:Wg8Z236B.net] あっ出来た 気にしないでください
526 名前:503 mailto:sage [2018/02/24(土) 00:22:57.66 ID:KZ58FcHI.net] deepcopy出来ました。 お騒がせしました。
527 名前:デフォルトの名無しさん mailto:sage [2018/02/24(土) 17:08:30.57 ID:Dd1othiR.net] ideとかエディタでホームポジションのまま→に移動できるショートカットってない?""の後とか()の後にいちいち→おすとホームポジションから手を話さなくてはならなくてめんどう
528 名前:デフォルトの名無しさん mailto:sage [2018/02/24(土) 18:23:24.40 ID:UjV7lXbs.net] ググって検索結果に出てこなければできないってことは無いでしょw 子供かよw
529 名前:デフォルトの名無しさん [2018/02/24(土) 18:29:40.45 ID:MHMExzVL.net] Pythonで作ったプログラムを他の人に渡すにはわざわざ環境用意してもらわないといけないの?
530 名前:デフォルトの名無しさん mailto:sage [2018/02/24(土) 18:50:17.53 ID:ozvKRveg.net] AWSにデプロイしてWebサービスにしろ
531 名前:デフォルトの名無しさん [2018/02/24(土) 20:20:49.04 ID:S7UxFmQS.net] webがないと何も出来んのかweb屋はw
532 名前:デフォルトの名無しさん mailto:sage [2018/02/24(土) 20:42:39.96 ID:QCDdZlsY.net] おもちゃのパソコンでなければPythonは入ってますよ おもちゃのパソコンでなければ、ね
533 名前:デフォルトの名無しさん mailto:sage [2018/02/24(土) 22:18:14.36 ID:8UiUrtqZ.net] なおバージョン
534 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 00:15:13.72 ID:mDxCkWyO.net] Python良いよ
535 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 01:33:29.46 ID:pcyqC+jB.net] Windows10 Home で、WSL で、MS Store から、Ubuntu 16.04 LTS をダウンロードして、 Ruby をインストールする 最初から、Python, vim も入っている 200MB ほどダウンロードして、850MB ほどの容量。 ただし、GUI版ではなく、基本的な機能しかないけど だから、Windows10 Home でも、開発環境として、Ubuntu が使える。 ただし、サーバーのように常時実行はできない。 開発環境として使えるだけ Docker も使えない
536 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 01:54:33.31 ID:jUteSjvv.net] PythonはRubyとかいううんことは違ってUNIXに依存してないのでPythonでも普通に使えるよ というかWinで使ってる人が一番多い
537 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 05:52:54.87 ID:z/Jlakx1.net] 最近じゃネコも杓子も蛇使いな感じだな
538 名前:デフォルトの名無しさん [2018/02/25(日) 09:19:09.54 ID:tVogG6Wu.net] >>519 蛇使いてパイソンの事か?なんか困るん?パイソン流行ると?
539 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 1
] [ここ壊れてます]
540 名前:1:18:47.46 ID:V9Ffm6ai.net mailto: pythonが生産性高いと呼ばれる理由は? [] [ここ壊れてます]
541 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 12:15:43.20 ID:ZfD472TI.net] 星占いで13番目に出てきた蛇使い座
542 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 12:22:49.03 ID:6Rr2IhVo.net] >>521 型を書かないことでコード量が減るから JavaやC#などのコード量のうち、10%くらいは型関連のキーワードだろう
543 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 14:17:03.05 ID:HxcqvxGx.net] リストの演算やスライスが1文でまとめて出来ること、 pandasやmatplotlibの様な使いやすいモジュールがあること、かな C#やC++の型宣言はvarやautoで推論出来るから、昔ほど面倒ではなくなってる
544 名前:デフォルトの名無しさん [2018/02/25(日) 15:15:27.02 ID:DMbXpP0c.net] >>520 裾野が広がり過ぎると ゴミみたいな質問でスレが埋まる
545 名前:デフォルトの名無しさん [2018/02/25(日) 16:09:26.99 ID:raNwv933.net] python便利です csv・xml出力の実験データのまとめとか 製品の異物確認にもopencv使えるし 使える使えないで仕事の処理量は段違い 惜しむのは40手前で出会った事 中学ぐらいでpython教えれば 高校の数学が面白くなるのになとおじさんは思いました
546 名前:デフォルトの名無しさん [2018/02/25(日) 16:18:04.88 ID:DMbXpP0c.net] そだねーjapan
547 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 16:49:04.04 ID:bfs3ZT86.net] 昔は最初にやるべき言語はPASCALって言われていたが今はPythonだな
548 名前:デフォルトの名無しさん [2018/02/25(日) 17:51:58.41 ID:tVogG6Wu.net] >>525 どうせおまえもゴミみたいなもんなんやから気にすんなよそんな事w
549 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 20:52:09.78 ID:VufOLdYM.net] >>525 お前がいる時点で底だわ 裾が広いほうがレベル上がるだろ
550 名前:デフォルトの名無しさん [2018/02/25(日) 23:01:05.83 ID:4H5jUe5i.net] プログラミング自体が初めてで、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] すみませんが、ご教示いただけますよう、お願いします。
551 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 23:44:20.79 ID:Uk0i7a7U.net] >531 仕様が不明なところがあるので質問します。 1列目が同じだったら、4列目も必ず同じになるのですか? もし、そうでない場合、4列目はどうやって計算するのですか?
552 名前:デフォルトの名無しさん [2018/02/25(日) 23:54:15.75 ID:4H5jUe5i.net] >>532 不十分な書き方をして申し訳ありません。 今回の場合、1列目がそれぞれ等しい場合は、4列目もそれぞれ等しくなります。異なってしまうことはないという前提です。ですので、2列目、3列目で所定の演算をして、1列目の要素が等しいもの同士を集約します。 これでご理解いただけましたでしょうか。 もし何かございましたら、ご指摘ください。よろしくお願いいたします。
553 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 00:45:55.72 ID:rDF2fLvE.net] >>531 宿
554 名前:題の丸投げのような感じだな 動かなくてもよいから自分でやってみたpythonコードだせないのか [] [ここ壊れてます]
555 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 00:49:05.69 ID:rDF2fLvE.net] いまはpythonの基礎的なことすらわからないのに>>531 のようなのを やる奴が普通なのか?
556 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 03:11:45.17 ID:RRYIMw3l.net] 昔からいたよ ここ2~3年までPythonは日本語圏でドマイナーだったから目につかなかっただけ それまでのド素人はVBかPHPかRubyをやっていた
557 名前:デフォルトの名無しさん [2018/02/26(月) 06:35:30.76 ID:CZMjr0z3.net] >>534 事務系社会人です。独学なので宿題ではないです。自分用の簡単なツールを作りたいというのがきっかけです。 始めはnumpyで、行列内部で要素の演算させるつもりでしたが、うまくできませんでした。 次にpandasで、表形式でやろうとしましたが、今一わかりません。 すみません、今日の夜にでも、不完全な自分のコード提示します。 お目通しいただきご教示くださるとありがたいです。
558 名前:デフォルトの名無しさん [2018/02/26(月) 07:24:03.85 ID:GTfBnsec.net] >>535 ブーメラン乙です
559 名前:デフォルトの名無しさん [2018/02/26(月) 07:37:58.92 ID:IuGyHUGL.net] >>526 Juliaを中学生から教えたらいい。sympy使えるし。
560 名前:デフォルトの名無しさん [2018/02/26(月) 07:41:38.60 ID:IuGyHUGL.net] >>528 scratchからやったら。
561 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 07:56:08.70 ID:yswRgVjF.net] >>540 あれは言語というよりオーサリングツールな気がするな
562 名前:遊園地 mailto:sage [2018/02/26(月) 10:11:37.79 ID:cTQBZcAI.net] >>537 目的を人間っぽく書いて、その為の実現したいコード処理を記載 読み込んだデータ形式も簡易表現で構わないから、コードにコメント等で書いて。 numpyで、行列内部で要素の演算 どの様な演算なのか? 受け取るデータ形式は、どの状態なのか? 何が想定と違うのか? pandasで、表形式 どの様な表なのか? 上記と同じ コード書きや想像可能な命令後のキーワド検索は、後回し。
563 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 10:19:53.48 ID:oHOLuzwx.net] なんかnumpyって使いにくいのよね 全部pandasでやっちゃう 計算速度とかは知らん
564 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 12:29:30.85 ID:wtxU8Pq4.net] >533 こんな感じかな? https://ideone.com/mxwgP3 numpy panda なら、groupby?とかの集計用の関数を使うのだろうけど、 どちらも知らないので、素のpythonで書いた。
565 名前:デフォルトの名無しさん [2018/02/26(月) 14:50:55.91 ID:Q2qtK4xZ.net] 数字(str)
566 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 14:51:52.89 ID:ZymD9F8g.net] ROSの勉強意味不明
567 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 15:55:59.62 ID:NcBRNf65.net] 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]]
568 名前:デフォルトの名無しさん [2018/02/26(月) 16:23:21.61 ID:B76OQfBv.net] プログラミングのレポート課題としていいテーマありますか? 2週間くらいで0から理解できる内容で 機械学習とか候補に入ってるんですが2週間じゃキツイですか?
569 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 17:30:55.40 ID:noERqLSe.net] >>547 汚いend糞コード貼るな!
570 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 17:52:45.87 ID:OBKUk/zi.net] >>548 1. ユーザーが入力した何らかの文字列を受け取る 2. 1. の文字列が以前までに入力されたものと同じなら、そのときの回答と同じ回答を表示する 3. そうでない場合は、回答をユーザーに入力させ、入力内容を回答としてそのまま表示する これで教師データに対しては精度100%のAIができる 2週間ならこんなもんだろ
571 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 18:08:45.28 ID:91BhH+0u.net] 今日からpythonを勉強し始めました ここのfibo()関数が、fibo(37)ぐらいで恐ろしく時間がかかる(10秒ぐらい)んですが、 こんなものなんでしょうか?あまりに遅すぎると思うのですが。。。 試しにcで書き直したらfibo(37)が一瞬で終わりました。 環境:Windows10上のWSL+Ubuntu上のpython3.5.2、CPU corei7 https://qiita.com/Wreulicke/items/e8f7290f6b4ff98e6142
572 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 18:22:50.71 ID:wtxU8Pq4.net] 数千万回の関数呼び出ししてるから、Pythonなら10秒くらいで正常。 100万回の単純な演算なら、1秒以内でいける。 1000万回の演算だと、かなり単純なのでも、1秒以内は厳しい、というのが相場かな。 cやc++よりは、50倍くらい遅いよ。
573 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 18:25:26.87 ID:91BhH+0u.net] >>552 あーそうなんですね! pythonは科学計算ではなくテキスト処理?とか ぱっと簡単に処理を書くのに向いてそうですね ありがとうございました!
574 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 18:56:45.45 ID:/Zv3SJNj.net] 俺のPCだとフィボナッチ計算 Pythonでも0.1秒くらいで終わるけど。。。
575 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 18:59:54.39 ID:/Zv3SJNj.net] しかも、CPU corei5のオンボロなんだけどw どういうことやw
576 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 19:05:04.37 ID:wtxU8Pq4.net] >553 科学計算するときは、numpy使うらしい。 >554 速いPC使ってるんだね。 うちのi7 では13.5秒かかった。 アルゴリズムを変えて、メモ化したり、ループに書き直したりすれば、一瞬で終わるけど。。
577 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 19:07:56.71 ID:/Zv3SJNj.net] >>556 あ、すまん >>551 のURL見てなかった 自分で勝手に関数作ってたわw でも、URLの関数使っても3秒くらいで終わったわ
578 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 19:10:09.18 ID:wtxU8Pq4.net] >555 corei3なの? ideone.com で、pypy2.7で計算したら、0.56 secまで速くなったけど、0.1 sec には届かない。 リンク先のコードと違うので計算したのでは?
579 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 19:11:41.89 ID:wtxU8Pq4.net] >557 行き違い失礼。 速度差は、デスクトップとノートPCの違いかな?
580 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 19:12:19.41 ID:/Zv3SJNj.net] >>558 自分で関数作ってたスマソ
581 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 19:35:17.64 ID:NcBRNf65.net] 君ら、末尾再帰とか、lazy とかを、知らんだろ
582 名前:デフォルトの名無しさん [2018/02/26(月) 20:07:38.88 ID:GTfBnsec.net] あぁ、末尾再帰とか、lazyとかね、昔はよくやったよね懐かしいわw まあ今は機械学習が全盛だし、もう末尾再帰とか、lazyとかの時代じゃないっしょw
583 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 20:10:49.36 ID:noERqLSe.net] 末尾再帰はみみっちい、男らしくない考え。 そんなんだったら最初からforループ使っとけ
584 名前:デフォルトの名無しさん [2018/02/26(月) 20:28:42.84 ID:YPK1H5Uc.net] Jupyterから実行したかどうか判定する方法ってあります?
585 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 21:50:30.71 ID:BkZJLYsg.net] 質問文が酷すぎて答える気にもなれない
586 名前:デフォルトの名無しさん [2018/02/26(月) 21:59:17.46 ID:mANSF+RP.net] >>565 お前答えられへんだけやんけwww ちなみに、俺は知らん
587 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 22:21:56.94 ID:/Zv3SJNj.net] >>564 Jupyterを起動 print("Hello World") と入力 Hello World と表示されればJupyterはちゃんと動作してるよ
588 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 22:30:00.38 ID:QuhxkvaQ.net] >>566 知らないのはお前、俺、>>564 ぐらいだろう このスレの連中は遊園地を筆頭に人間性に大問題ある奴ばかりなために 知っているが教えない奴が圧倒的。pyスレに来る目的が基地ル、雑談するためだからな
589 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 23:12:09.84 ID:JMtzX8TQ.net] PythonやりたいならwindowsよりLinuxですか?
590 名前:デフォルトの名無しさん [2018/02/26(月) 23:30:50.93 ID:Q2qtK4xZ.net] >>569 何を作りたいかでかわってくる それがないならどっちでもいいんじゃないですかね
591 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 23:34:16.77 ID:JMtzX8TQ.net] >>570 githubでソース拾ってきて動かしたいです。
592 名前:529=535 [2018/02/26(月) 23:38:23.76 ID:CZMjr0z3.net] >>544 様 ご面倒をおかけしました。 ありがとうございました。 コードの中身をよく拝見させていただき、 これからpythonを勉強する励みにいたします。 ありがとうございました。
593 名前:529=535 [2018/02/26(月) 23:41:34.76 ID:CZMjr0z3.net] >>542 遊園地様 >>544 様が回答を示していただきましたが、下記のとおり 私のポンコツコードを示したいと存じます。 再掲 [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の中?で計算して、結果を出してみたかった。 以下、連投します。すみません。
594 名前:529=535 [2018/02/26(月) 23:47:35.71 ID:CZMjr0z3.net] #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列目の数字を取出し、目的の演算を行おうとしていた。
595 名前:529=535 [2018/02/26(月) 23:48:06.01 ID:CZMjr0z3.net] 質問では、1行4列の行列が、nあるとしましたが、本当はCSV全体で1つの行列になると思いましたので、 numpyを使って、重複
596 名前:を発見したときに、i行2列、同3列の数値を取出し、目的の演算をしようと初め思っていました。 しかし、行列の内部での要素の取出しが今一つわかりませんでした。(初心者用の本しか持っておらず、ネット頼りでしたが 必要な情報を見つけられませんでした。 それで、表形式になるpandasのDataframeを用いてみましたが、重複除きの商品コードから、 当該の行データを取出し、同様に2列目、3列目の数値を用いて演算させるのがわかりませんでした。 かなり自分でも能力が足りないのに、欲張っていたかと思います。 反省いたします。 機械学習に興味関心がありますので、今後、pythonの勉強を頑張りたいです。 ご迷惑でなければ、また皆様にご教示いただきたいです。 [] [ここ壊れてます]
597 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 00:24:03.42 ID:WS3TaZ0C.net] 行列の大きさ次第では計算量がすごいことなるで メモリとか時間を気にせんのと、初心者っぽくやるなら、numpyのuniqueをまず使ってループ回すかな
598 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 00:37:56.53 ID:tquTMsI7.net] >>573 最初からその説明(具体的な処理目的説明)していたら展開が違ったような気がする 俺なら 重複している商品コードを整理し 全データ(100以上のデータ)で重複している商品コードを洗い出す処理をして {101:[20,150,150], [30,200,150]} <= valueが2個以上なら重複とわかる とかを生成して、 これ(商品コード101)に対して数量の合算、金額(単価)の加重平均を行うような処理にするが
599 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 00:47:13.10 ID:FXmriiXi.net] 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
600 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 00:48:09.81 ID:FXmriiXi.net] できるだけ、forやifなどを使わない簡単な方法を探しております。。。 よろしくお願いします。
601 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 01:03:09.36 ID:P5BFQcr1.net] >>567 一休さん乙。
602 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 01:09:04.37 ID:Rrp6rDyp.net] >578 numpyは使ったことないから、リファレンス見ながら適当に書いた。 a==b==cだとエラーになるので、a==bとb==cをlogical_andでつないだら動いた。 print(np.sum(np.logical_and(a == b, b == c)))
603 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 01:16:19.46 ID:FXmriiXi.net] >>581 ありがとうございます。 自分も a==b==c でエラーがでて困ってました。 とても助かりました。
604 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 07:33:45.62 ID:WS3TaZ0C.net] >>579 forやif使う方が(作るのは)簡単なんだけど… お前、自分でどうにかする気全くないってことじゃん
605 名前:デフォルトの名無しさん [2018/02/27(火) 07:52:03.09 ID:ckmPPEEZ.net] (作るのは) どこでこんな括弧の使い方教えとんねんwww
606 名前:デフォルトの名無しさん [2018/02/27(火) 08:47:20.59 ID:4ixkfDNT.net] 学校(幼少期の)だよ
607 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 10:04:13.40 ID:j7JSqS95.net] は?お前Pythonスレで何言ってんの? 作るのはって引数に決まってんじゃん
608 名前:遊園地 mailto:sage [2018/02/27(火) 10:59:17.74 ID:gK8Y9TGp.net] 思った以上に難しいな。 発狂モードで、人から聴きながら、公式ドウキュメントと睨めっこ してるけど、未だに熟考してるな。 defaultdict items() https://ideone.com/rbwrKz
609 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 11:05:15.46 ID:FXmriiXi.net] >>583 forやifを使う方法なら自分でも分かるので。。。 コードがシンプルで動作が早いものを求めてました。 賢いあなたなら素晴らしい解決策をご存知では?