- 1 名前:デフォルトの名無しさん mailto:age [2019/10/16(水) 10:17:12.96 ID:dCHq3Ix4.net]
- 当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨 このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 ★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので ↓等のてきとうなソースコード用うpろだに貼ってきてください。 スクショをImgur等にうp といった 手抜き(クソ行為)禁止。 ttp://ideone.com/ デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう ◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と 実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。 ◇Python公式サイト◇ www.python.org/ ◇まとめwiki◇ ttp://python.rdy.jp/ 〇前スレ〇 くだすれPython(超初心者用) その44【Ruby禁止】 mevius.5ch.net/test/read.cgi/tech/1563969768/
- 892 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 18:04:31.25 ID:Ens8Pa2w.net]
- >>847
ありがとうございます。 現時点ではUnityのほうが得意なのですが、 アプリからデータ取得して統計処理、機械学習まですることを考えると、 Pythonで統一したほうが後々楽なのかな。。。
- 893 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 18:08:30.47 ID:Ens8Pa2w.net]
- あと、スレタイどおりくだらない質問で申し訳ないのですが、
C#アプリで取得したデータをpythonで統計分析しようとしているのですが、 CSVファイルにデータを保存するとき 100件のデータを全て一つのファイルに保存。 100個のファイルを作製して1件1ファイルに保存。 のどちらがいいのでしょう? 1件のデータには実験環境等ながいDescriptionデータがついてくるので、 1ファイルだとデータの切り出しがめんどくさいかなと思っているのですが。
- 894 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 18:16:24.65 ID:buP4BnNs.net]
- >>846
そのゲームを誰にどうやってやってもらうかとか 結果をどう収集すべきかとか そういうの考えてる?
- 895 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 18:51:55.19 ID:Ens8Pa2w.net]
- >>850
そのへんは考えてるのですが、質問の仕方が良くなかったですね。 ***実験条件データ*** 年齢: 性別: 特性A: 特性B: 〜 ***配列データ*** 時間 回数 色 〜 0.11 3 R 〜 0.20 1 B 〜 みたいなデータが100件ぐらい1ファイルに記述したとして、 をpandasで配列データだけ切り出してくるってかんたんにできるものでしょうか?
- 896 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 19:03:33.08 ID:4GpMlcpo.net]
- >>849
特別な要件がない限り > 100件のデータを全て一つのファイルに保存。 しかないと思うが
- 897 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 19:15:06.28 ID:OE5DN1cz.net]
- pygameって3?が頓挫して別のに開発リソースまわってるんじゃなかったっけ?
あとcsvはデータ形式によるから具
- 898 名前:フ的なカタチがわからないとなんとも… []
- [ここ壊れてます]
- 899 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 19:59:30.18 ID:u+b66RrE.net]
- >>851
まず、データだけを抽出する、コンバーターを作る! そのためには、まず、データだけを抽出しやすいように、 よく考えて作っておかなければならない JSON とか。 他には、XML, YAML もある データとデータ以外の切れ目が、分かるようになってれば良いけど まあ、ファイルを分割している方が簡単で、 後でファイルが増えた時に、融通が利く
- 900 名前:デフォルトの名無しさん [2019/12/22(日) 20:28:35.39 ID:MAO/zmGQ.net]
- >>848
ゲームはUnity、データ処理はPythonってのがいいよ どうせゲームの記録は一旦保存して、後で処理するのだから、 ゲームを作るのに得意な言語、データの処理に得意な言語で使い分けたほうが良い。 一つにまとめる必要があるのは、アプリケーションパッケージとして売ったり誰かに納品したりする必要があるときだけだと思う。
- 901 名前:デフォルトの名無しさん [2019/12/22(日) 20:33:44.52 ID:MAO/zmGQ.net]
- >>849 >>851
見逃したけど、 100条件なら100ファイルの方が取り扱いが簡単だよ。1ファイルにするメリットはないと思う。 1000を超えてくるとOSの方での取り扱いが面倒になってきたりするけど。 1ファイルにする場合、条件データと配列データを切り出すのはPandasでも出来るけど、素のPythonでまず切り分けておいて、 切り出したCSV部分をPandasに渡すのが普通かな。
- 902 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 22:03:29.64 ID:Ens8Pa2w.net]
- >>853
情報ありがとう。 開発終了してるし、後継のライブラリもなんか評判良くないね。 ゲーム部分は素直にUnityで開発します。
- 903 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 22:07:05.30 ID:Ens8Pa2w.net]
- みなさんいろいろありがとうございます。
ファイル分割して、データ統合するコンバータを作るのが良さそうですね。 少し勉強が必要そうだけど、方向が見えてきました。 ありがとう。
- 904 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 22:08:24.35 ID:Ens8Pa2w.net]
- >>855
シンプルにUnityからテキストファイルに書き出して、 パイソンでデータ処理するようにします。 Unityからパイソンのファイルを実行するだけなら、自分でもすぐできそうだし。
- 905 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 00:46:17 ID:i+2w2qhs.net]
- 本当にくだらないんだけど、
風俗板とこのスレに常駐すると パイソンがパイパンに見えてくるな。
- 906 名前:デフォルトの名無しさん [2019/12/23(月) 02:12:53 ID:Z89NhxHR.net]
- test_str = 'aaaisaisaihuursstestiisaojyewysa'
というような文字列があったときに 文字列の中に'test'が含まれるかどうかの判定ってどうすればよいですか? 先頭でも末尾でも中間でもどこに含まれていても、print('含まれてるよ')と表示したいです。
- 907 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 07:39:10.34 ID:i17ydcb/.net]
- >>861
'test' in test_str で判定 いっちゃん簡単なやつ
- 908 名前:デフォルトの名無しさん [2019/12/23(月) 08:50:45.33 ID:G1ER7e+F.net]
- >>861
test_str = 'aaaisaisaihuursstestiisaojyewysa' if 'test' in test_str : print('含まれてるよ') else: print('無いよ')
- 909 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 09:22:23.85 ID:cv9cp49U.net]
- 正規表現
- 910 名前:デフォルトの名無しさん [2019/12/23(月) 15:25:25.14 ID:sEnpgkKc.net]
- >>835-836
うbyはidが偶数か奇数かでも動作が違う
- 911 名前:デフォルトの名無しさん [2019/12/23(月) 17:05:29.34 ID:Z89NhxHR.net]
- >>862>>863
ありがとうございます!
- 912 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 20:12:29.62 ID:Pi1/7Ubv.net]
- アップルが従業員に遺伝子検査サービス無料提供。「治療」から「予防」へ
https://japanese.engadget.com/2019/12/14/apple-clinic/
- 913 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 20:16:11.23 ID:Pi1/7Ubv.net]
- 943
半島人は長い歴史で虐待され続けたため、人間不信に陥っており、 又医学的には拷問を受けたため、遺伝的に脳の前頭葉
- 914 名前:(脳の30%の部分)が傷ついて萎縮していると判明しています
だから豊かな感情に欠け、キレやすく、倫理的なことにあきらめ感が強く、無感動です 今後前頭葉を拡張復元していくことがよい結果を生むことになると思います アメリカを中心に、高気圧酸素治療法というのがあります カプセルに入って寝て、気圧を高めて高濃度の酸素を、人の血中に送りこむ療法です 損傷した脳の復元にかなり効果があることが、わかっていています 284 そこで提案だ 先ほど述べた、Paul Harch 医師達がやっているような、高気圧酸素治療(HBOT)の技術を生かしてみたら、いかがかな つまり、代々前頭葉萎縮で悩んでいる半島人達の脳に、この治療法を応用するのだ 酸素を効率的に沢山供給することで、エデンちゃんの萎縮していた脳がほぼ通常に広がって戻ったのだから、 うまく考えて根よくやれば、半島人達の遺伝的に萎縮した前頭葉をふくらませられるかもしれない そうしたら、彼らに失われていた人間的な感情も、わきやすく、育みやすくなるというものだ 半島人も他の民族と同じように気持ちが安定し、前向きになり、責任を持って自分の国作りをするようになるだろう 他に良い方法があればそれでもよいのだがね、1つの案として提示しておく 全世界の皆さんは、真剣に考えてやってほしい 特に、脳科学の研究者達はね [] - [ここ壊れてます]
- 915 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 20:16:37.34 ID:Pi1/7Ubv.net]
- 276
その方法というのは、 『高気圧酸素治療(HBOT)』と言う 縦長のカプセルの中に患者が仰向けに寝ていて、カプセル内に高濃度の酸素を沢山満たし、吸い込ませ血管に送り込む 又、その際に高めた気圧で酸素を濃縮して、血管に溶け込みやすくする、という仕組みだ これにより女児は損傷して萎縮していた脳が、酸素の補給により急激に回復し始め、まもなく感情を表し言葉を発したり、母を認識し以前の記憶がよみがえった 又自分で食べられるようになり、運動能力も徐々につき、驚異的な速さで機能が回復して行ったのだ 五才になった今では、多少歩く時に平衡感覚がまだ足りなくて、左右にぐらつくのを矯正中だが、ほぼ普通に元気に歩き、遊べるようになった 278 私が言いたいのは、これを応用できるのではないかということだ この女の子、エデン・カールソンちゃんを治療したのは、ルイジアナ州立大学医学部のPaul Harch医師だ 彼は、エデンちゃんに主に高気圧酸素治療を行い、1回45分、週5日、計40回で終了した 治療を始めて10回目で、ほぼ正常に見えるほどになったという その後も40回(8週間か)まで治療を続け、最終的にMRI検査では、エデンちゃんの萎縮してすき間のあった脳が、ほぼ完全に回復していた 脳の回復が速い幼児だからということも幸いしたが、 最近では急性脳損傷のある成人でも効果があることがわかってきた 成人にHBOTを1回実施しただけでも、脳の組織回復に必要な複数の遺伝子の活性に変化が見られたという (日本では、病院で脳梗塞の治療等に使われている)
- 916 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 20:16:54.72 ID:Pi1/7Ubv.net]
- 280
朝鮮半島民というのは、医学的に研究された結果、 昔から先祖代々貴族等に虐待や拷問を受けてきた
- 917 名前:スめに、おびえて脳の前頭葉(脳の30%を占める)に沢山の傷が見られ、そこの部分が萎縮しているそうだ
前頭葉の前半部は、思考、自発性、感情、性格、理性等を司る 前頭葉が損なわれるとどうなるか 例えば、 忘れっぽい 思いつきで動き、不注意 自発性がなく、すぐ人を頼る 大変おしゃべりか、反対に抑うつ的 すぐ怒ったり笑ったり、感情を爆発させる 人を思いやるのが苦手 危険に鈍感になる 規則を守らない 1つのことにこだわり、同時に2つのことができない 過食や浪費 又、もしもその一部である眼窩前頭皮質が損傷すると、 過度に悪態をつく 性欲過多 社会的対話の欠如 共感能力の欠如 アルコール、薬物の摂取過多 等が見られるという どれも困ったことだ 必ず全てが現れるわけではないし、個人差もあるだろうが 943 半島人は長い歴史で虐待され続けたため、人間不信に陥っており、 又医学的には拷問を受けたため、遺伝的に脳の前頭葉(脳の30%の部分)が傷ついて萎縮していると判明しています だから豊かな感情に欠け、キレやすく、倫理的なことにあきらめ感が強く、無感動です 今後前頭葉を拡張復元していくことがよい結果を生むことになると思います アメリカを中心に、高気圧酸素治療法というのがあります カプセルに入って寝て、気圧を高めて高濃度の酸素を、人の血中に送りこむ療法です 損傷した脳の復元にかなり効果があることが、わかっていています [] - [ここ壊れてます]
- 918 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 11:21:49.38 ID:DWLgg12E.net]
- pythonにテキストファイルでデータを渡して統計処理しようとして、
初めて整然表現というものを学びました。
- 919 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 11:25:36.07 ID:DWLgg12E.net]
- 実験情報
氏名: 性別: 年齢: 実験日時: 実験場所: 実験タイプ: 実験データ 時刻 X Y 色 002 20 14 b というデータで今まで実験情報と実験データを一つのファイルに記述していたのですが、 SatouTarou20191224DESCR.txt SatouTarou20191224DATA.csv と2つのファイルに分けて記述するべきなのでしょうか?
- 920 名前:デフォルトの名無しさん [2019/12/24(火) 11:34:40.49 ID:oSAz7Duc.net]
- Philip N. Kleinという人の書いたベクトルを表すクラスに、以下の記述があります。
__add__ = add 左辺はインターネットで調べた結果、特殊メソッドであることが分かりました。 右辺の「add」は一体なんなんでしょうか? そして、特殊メソッドである「__add__」を定義せずに、「__add__ = add」と代入していますが、これは文法的にどういうことなのでしょうか?
- 921 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 11:40:09.88 ID:DWLgg12E.net]
- 氏名 性別 年齢 ・・・ 時刻 X Y 色
Sato Tarou 21 002 20 14 B 004 22 10 R 010 1 9 Y みたいに一つのファイルのほうがいいのかな。 実験条件のデータは項目ひとつに1データでみづらいけど、 これがコンピュータにとって扱いやすい整然データということでしょうか?
- 922 名前:デフォルトの名無しさん [2019/12/24(火) 12:06:36.04 ID:oSAz7Duc.net]
- >>873
def add(u, v): class Vec: __add__ = add となっています。 これはクラス Vec の外で定義された「add」と同じ関数として「__add__」を定義するという意味ですか?
- 923 名前:デフォルトの名無しさん [2019/12/24(火) 12:16:14.86 ID:Ww2BU2Ri.net]
- 実行ファイルのあるディレクトリのパスを取得するのに
os.path.dirname(sys.argv[0]) という記述があるのですが sys.argv[0]というのは何故必要なんでしょうか? また、その1つ上のディレクトリのパスを取得するにはどうしたら良いですか?
- 924 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 12:35:53.65 ID:3XzgnZW7.net]
- >>873-875
add と言う名前から想像すると、加算演算子「+」の再定義(オーバーライド・上書き)かも 例えば、Ruby で、カスタムクラスA を定義して、そのインスタンス同士を足す際、 class A end a_1 = A.new a_2 = A.new p a_1 + a_2 #=> エラー! クラスA には、+演算子(メソッド)は、存在しないというエラーになる。 そこで、クラスA に、+演算子を再定義すると、好きな処理ができる。 a_1 + a_2 の場合、レシーバー(self)は、a_1で、other は、a_2 を表す def +(other) p self, other end
- 925 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 12:41:33.48 ID:8/3Ibfsl.net]
- >>876
sys.argv[0]が実行ファイルそのもの。 os.path.dirname(f)はfのディレクトリ。 os.path.dirname(os.path.dirname(f))でさらに一つ上の階層。 sys.argv[0]の代わりにos.path.abspath(__file__)も使える。 python 3.4以降?なら下の様な方法でも。 from pathlib import Path Path(os.path.abspath(__file__)).parent.parent
- 926 名前:デフォルトの名無しさん [2019/12/24(火) 13:02:43.62 ID:Ww2BU2Ri.net]
- >>878
ありがとうございます!
- 927 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 13:07:42.57 ID:3XzgnZW7.net]
- >>876
Ruby では、シェルで「ruby オプション script.rb 引数」と入力するけど、 このスクリプトファイル名は、$0 という変数で参照できる 引数部分が、ARGV の[ 0 ]から順番に参照できる。 ARGV[ 0 ]には、スクリプトファイル名が入ってこない そこが、Python とは異なる! 親のディレクトリは、parent で、祖父なら、parent.parent で。 たぶん、python にも、ファイルパスを扱うモジュールがあるはず require "pathname" path = Pathname("foo/bar") # 相対パス path.parent # => #<Pathname:foo> path.parent.parent # => #<Pathname:.>
- 928 名前:デフォルトの名無しさん [2019/12/24(火) 15:24:57.39 ID:L1tHoweE.net]
- ふーん帰っていいよ
- 929 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 15:52:08.62 ID:9irKuexe.net]
- >>873
class Vec: __add__ = add は class Vec: ____pass Vec.__add__ = add と同じ
- 930 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 15:57:23.19 ID:9irKuexe.net]
- Vec.__add__ = add がどういうことかわからなければ
↓これを参考に https://ideone.com/Z5nLWW
- 931 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 16:04:24.92 ID:4c603ABM.net]
- Rubyバカはスレタイを100回復唱してから書き込めよ
- 932 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 17:46:49.50 ID:9irKuexe.net]
- >>872
RDBであれば別のテーブルで管理すべき内容 ただ一連の質問を見る限り他人がメンテする必要性が低そうなので1ファイルの場合と2ファイルにした場合のメリット・デメリットを考えてみて好きに決めればいいと思う ファイルの分割に関係なく実験情報と実験データの1つの組をユニークに識別できるIDを定義しておくのが無難
- 933 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 17:57:21.54 ID:9irKuexe.net]
- >>874
違う 基本はRDBで言う第三正規形
- 934 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 18:15:54.74 ID:WqUdRB3h.net]
- 人名単位のcsvに実験データを追記していく
必要なら名簿を作成してI/Oを平易にする これではいかんのけ?
- 935 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 18:31:25.90 ID:mGB04tXH.net]
- 日本語ファイル名は災いの元なので、学籍番号やローマ字表記などに変えるべき。
- 936 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 19:46:37.28 ID:CDAmWs4U.net]
- 日本語かどうかよりはファイルシステムでファイル名としては取り扱えない文字かどうかを気にした方が良いような
まあ、結果としてアルファベットと数字とハイフン、アンダースコアにしておくのが無難だという結論になるけれど
- 937 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 19:59:36.01 ID:l0GCh4fC.net]
- >>886
主キーで管理して実験情報テーブルと実験データテーブルを別個に作るということですか。なるほど。
- 938 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 20:01:19.05 ID:l0GCh4fC.net]
- ってアクセスでならできるけど、パイソンでRDB的なことってできるんでしたっけ?
- 939 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 20:02:50.70 ID:l0GCh4fC.net]
- >>889
ファイル名は氏名と生年月日と記録日にしようかと思っています。 検索しやすいので
- 940 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 20:04:11.90 ID:l0GCh4fC.net]
- >>887
同一人物でも異なる実験条件で複数回検査するので。
- 941 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 20:12:16.08 ID:l0GCh4fC.net]
- あああ、確かに100件以上の実験データを扱うことを考えるとDBにデータ移行できるよ
- 942 名前:うにした方が良いですね。盲点だった。 []
- [ここ壊れてます]
- 943 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 20:27:01.45 ID:s2lutymo.net]
- >>407にもある通り数億とか数千万のオーダーを考えるのは普通
ファイルでも数万は簡単に行く 盲点でも何でもない
- 944 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 21:24:52.74 ID:r8fNCPuj.net]
- 参照系なら必ずしも正規形にこだわる必要もないよ。
統計処理はjoinされた形でやるわけだろうし。
- 945 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 21:43:30.63 ID:9irKuexe.net]
- >>892
その3つで一意性を完全に保証できる前提ならいいんだけど 同じ人が複数タイプの実験を1日で実施したりすれば対応できなくなるよ 一意性を保証できない状況が発生しうるなら 識別IDに人間の見やすさのための情報を付加する形がいいかも 0011228_SatoTaro_20191224.csv 0011235_SatoTaro_20191224.csv
- 946 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 08:33:26.59 ID:iqbdwPlo.net]
- >>897
スタンドアロンで別施設でデータ取得も考えると 年月日_実験開始時刻_氏名_生年月日 ですかね。 ファイル名は長いですが、 人間が判別するときもこれらのデータがあるとわかりやすいし。 20191224_120122_SatouTarou_19820912 ファイル名長いな・・・。
- 947 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 09:08:39.56 ID:iqbdwPlo.net]
- 正規形勉強してきました。
アクセス使ってたけど主キーとかユニークナンバーとしか理解してなかった。。。
- 948 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 09:12:06.97 ID:iqbdwPlo.net]
- >>874
は第一正規形ってことですね。 python上で第三正規形のデータ取り扱うってどうすればいいんだろう??? pythonやRで統計処理をするときは、 第一正規形であれば問題なさそうな気がするんですが、 間違っていますでしょうか?
- 949 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 11:07:21.89 ID:2sisjRdM.net]
- ちょっと論文読んできました。整然データ=第三正規形ではないんだね。
1. 実験情報と実験データでcsvファイルを分ける 2. 1のファイルから要約データを計算し、要約データファイルに実験情報と要約データを順次上書き 3. 要約データを実験条件で分割して有意差検定する が良いのかなぁ。
- 950 名前:デフォルトの名無しさん [2019/12/25(水) 11:33:04.71 ID:MC7jTCCf.net]
- >>974
間違ってない。 第三正規形は、更新時の書き込み箇所を一本化したり、保守性を上げる(スキーマ改変の範囲を限定する)というようなことが目的だから。 参照オンリーの場合は、むしろパフォーマンス面でマイナスになったりする。 けれど、非正規化するかどうかは別問題。 マテビューなどの解決策もあるからね。
- 951 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 12:01:08.00 ID:ZI663GBY.net]
- Ruby on Rails では、
多重度、1 : N は、has_mamy, belongs_to とか 参照、references 外部キー、foreign_key
- 952 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 12:06:28.68 ID:DT9LgkyT.net]
- >>903
https://spectrum.ieee.org/computing/software/the-top-programming-languages-2019 もはや存在すら忘れられたマイナー言語
- 953 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 12:38:43.88 ID:wOKia0YU.net]
- >>891
sqlite3とか入れてPythonからそれを叩くのが定番
- 954 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 12:40:43.60 ID:wOKia0YU.net]
- >>892
生年月日みたいな個人情報入れるとか大丈夫? てか企業とか学校なら社員番号とか学籍番号とかあるんじゃないの?
- 955 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 16:27:06.73 ID:l8QWpMeL.net]
- python3.8でコードをexe化する方法ありますか?
- 956 名前:デフォルトの名無しさん [2019/12/25(水) 17:05:31.75 ID:2ymVLaRc.net]
- exe + dll で良いならあるよ
- 957 名前:デフォルトの名無しさん [2019/12/25(水) 17:18:42.78 ID:urIrQtmF.net]
- Python習いたての初心者です。
Pandasでデータフレーム作って Scikitlearnで標準化をする際に 一旦数字のみ抽出して、標準化、 またデータフレーム化という手順で習ったのですが 回りくどい気がしてなりません。 Pandasのまま標準化するには 計算コード直入力するしかないものですか? 理解不足があったらすみません。
- 958 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 17:41:48.67 ID:owbFz3od.net]
- >>891
実験データをSQLiteとかで管理するのはお勧めできない 間違ってデータ飛ばしたりとかがSQLに慣れてないころには容易に起こる データの結合とかはpandasでSQLで出来ることはほぼ同レベルの手間でCSVファイルに対してできるから、とにかくCSVファイルに保存していく形にするのが良いと思う 実務ではないのだから、最悪ちょっと機械的な手作業を頑張ったらなんとかなりそうという、見通しが立っている状態を維持し続けるべきだと思う SQLとかRDBMSにめちゃくちゃ慣れていて、pandasなんか覚えたくないよというのならpandasじゃなくて良いけど あと、データをあれこれするときはjupyter notebookを使うと履歴が残せるし、うまくいかないところだけ試行錯誤でコードの修正がしやすいので本当にオススメ
- 959 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 18:02:29.31 ID:iqbdwPlo.net]
- >>902
ありがとう。 >>901 のパターンでやってみる。 データ構造どうするかって、きちんとしておかないと後で地獄見るってよく勉強になりました。
- 960 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 18:13:59.86 ID:iqbdwPlo.net]
- >>910
pandasでデータ成型(スクレイピングって言うのかな?) も学ばなきゃ。 新しく学ばなきゃいけないことたくさんだけど、 プログラミングは試行錯誤できることと、 お金があまりかからないのがいいことですね。 がんばります。
- 961 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 18:17:00.04 ID:JNywgUPx.net]
- 北海道のグラサンスーパーハゲザーはここにはこないのー?
- 962 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 21:34:44.21 ID:qDbmzL4T.net]
- >>900
>pythonやRで統計処理をするときは、第一正規形であれば問題なさそうな気がするんですが、間違っていますでしょうか? あってる間違ってるの話ではなく整然データにしておけばデータをこねくり回すときに楽になるよって話 現状困ってないなら無理して整然化する必要はないと思う >>901 論文にも明記されてるけど整然データ(=tidy data)は第三正規形と基本同じだよ 原典か日本語訳を読むといいと思う https://vita.had.co.nz/papers/tidy-data.pdf >>902 一般的に特定の非正規形は特定の分析用途には使いやすくても 違う観点で分析しようとすると正規形からデータ変形するよりも多くの手間がかかる 参照オンリーの場合でもデータの利用方法が定型化していない場合は正規形から考えるメリットは大きい 特にRDBで分析用途のDBを用意する場合は参照オンリーでも正規形から考えとかないと手間が異常に増える
- 963 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 22:03:00.14 ID:hPmVmQm/.net]
- 質問でつ
このコードの4行目で print(combsを表示) しちゃうと 最後の return ta_combs の中身が空になるんだけど 何で? import itertools def twoSum(nums, target): ・・・combs = itertools.combinations(nums, 2) ・・・#print(list(combs)) ・・・ta_combs = set() ・・・for comb in combs: ・・・・・if sum(comb) == target: ・・・・・・・ta_combs.add(comb) ・・・return ta_combs print(twoSum((10, 20, 10, 40, 50, 60, 70), 50 ))
- 964 名前:デフォルトの名無しさん [2019/12/25(水) 22:05:12.83 ID:ycC2pkbE.net]
- bigtable使ってるから正規化なんてないわ。
SQLもシンプルだし。 速度は言わずもがな。
- 965 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 22:
]
- [ここ壊れてます]
- 966 名前:10:39.36 ID:rtgRmFxx.net mailto: 複数の表をjoinするのとそれらの直積からselect/uniqueをとるのは等価だから
非正規形だと手間がかかるってのは当たらないと思う。 パフォーマンスや容量は別として、必要な変数を選んでuniqueをとるだけという 操作に統一できるから、いちいちどう結合するか考えるより手間が省けるくらい。 [] - [ここ壊れてます]
- 967 名前:デフォルトの名無しさん [2019/12/25(水) 22:12:36.33 ID:7FLhFvMk.net]
- 以下のようなテスト用の記述があるとします。
vecというモジュールからクラスVecをインポートしています。 vecモジュール内でも同様のテスト用の記述があるとします。 ↓のコードを実行した場合、vec内のテストも行ってしまうようです。 vec内のテストは完了しているので、テストされないようにすることはできるのでしょうか? from vec import Vec … """ Returns the value of entry k in M, where k is a 2-tuple >>> M = Mat(({1,3,5}, {'a'}), {(1,'a'):4, (5,'a'): 2}) >>> M[1,'a'] 4 >>> M[3,'a'] 0 """ … if __name__ == '__main__': import doctest doctest.testmod()
- 968 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 22:34:33.78 ID:qDbmzL4T.net]
- >>915
list(combs)でイテレータを消費してるから for comb in combs:のところではもう次のアイテムはない
- 969 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 22:37:11.85 ID:owbFz3od.net]
- >>917
一理ある DBを正規形にしておくのは必ず非正規化されたデータが正規形の直積から取り出せて、不整合なデータはありませんという保証を担保する側面があるってことだね
- 970 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 23:00:58.32 ID:qDbmzL4T.net]
- >>917
それは一番単純なパターンで キレイに非正規化されてるケースだけにしか当てはまらないよ
- 971 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 23:08:03.95 ID:hPmVmQm/.net]
- >>919
アドバイス ありがとうございます イテレータを理解してなかった import copy 追加して a = copy.copy(combs) を print の前に入れたら上手くいきました
- 972 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 23:17:51.74 ID:rtgRmFxx.net]
- キレイじゃない非正規化ってどういうのを想定してるのかな。
データとして等価じゃないならそりゃまずいが。
- 973 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 10:44:02.91 ID:g3TV29VW.net]
- そもそも第一正規形以外の正規形って更新時異常を避けるために考えられたものであって
検索のことは考慮外なわけで。
- 974 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 11:09:55.46 ID:Wx+k6Oqq.net]
- >>924
そりゃjoinのパフォーマンスなんかDBMSの実装の問題なんだから考慮外で当たり前だろう レイヤの異なる関心事をごっちゃにしている典型例だな
- 975 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 14:05:50.96 ID:g3TV29VW.net]
- パフォーマンスの話なんてどこから出てきたのやら。
>レイヤの異なる関心事をごっちゃにしている典型例だな そうだね。
- 976 名前:907 mailto:sage [2019/12/26(木) 14:45:46.65 ID:FL6xOFYS.net]
- すなおにpyinstallerのみ3.7で動かすことにしようと思います
オフライン環境にインストールしたかったので、先にオンライン環境で pip download -d <保存先> --no-binary :all: pyinstaller で関係ファイルをすべてDLし、オフライン環境にてpip installを試みました ところがそれぞれのファイルをインストールし、 最後にPyInstaller-3.5.tar.gzをpip installするところでエラーになってしまいます エラー内容を見るに、PyInstaller-3.5.tar.gzのpip installの中に setuptoolsのオンラインでのpip installが含まれているように見えます もちろんsetuptoolsは先にpip installしているにも関わらずです 何か方法ありますでしょうか エラーメッセージ↓ ERROR: Command errored out with exit status 1:
- 977 名前:command: <Python.exeのパス> <pipのパス> install --ignore-installed --no-user --prefix <overlayのパス> --no-warn-script-location --no-bina
ry :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.8.0 ' wheel cwd: None Complete output (8 lines): Collecting setuptools>=40.8.0 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, st atus=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3 .connection.VerifiedHTTPSConnection object at 0x02F322D0>: Failed to establish a new connection: [Errno 11004] getaddrinfo failed')': /simple/setuptools/ (以下繰り返し) [] - [ここ壊れてます]
- 978 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 15:57:44.27 ID:vMTIIs6I.net]
- 自分もひと月ほど前にオフラインでのpip installをやろうとして
行き詰まった pipは何かとPyPIに接続しにいくからね 結局linuxサーバでプロキシーサーバーとファイヤーウォールを建てて オンラインでできるようにしてからインストールしたよ
- 979 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 19:24:43.15 ID:FaxhM6Zn.net]
- 北海道のグラサンスーパーハゲザーはここにはこないのー?
- 980 名前:907 mailto:sage [2019/12/27(金) 18:52:51.35 ID:Qsz5HXwu.net]
- .tar.gz展開して中のsetup.py直接起動させたらいけました
自己解決ですみません
- 981 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 02:08:30.85 ID:RMes1jy6.net]
- こういうデータがあります 外側のカッコはタプルでも可 要素は重複してないので集合でも可
data = [00, 01, 10, 11, 12, 22] 要素から 1桁目が0のみ抽出・・00,01 2桁目が1のみ抽出・・01,11 という処理をしたいです 今はforで回し正規表現で判断してるのですが、簡単に記述出来るモジュールのような物はあるんでしょうか?
- 982 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 02:22:55.46 ID:0wxaCoE9.net]
- >>931
条件が簡単ならリスト内包表記で抽出するやり方があるけど forで回して正規表現で検索する方が何かと汎用性があると思うよ 左1桁めが0のデータを抜き出す場合 [ x for x in data if x[0] == '0' ] 左2桁めが1のデータを抜き出す場合 [ x for x in data if x[1] == '1' ]
- 983 名前:デフォルトの名無しさん [2019/12/28(土) 02:24:08.22 ID:CljHkVQA.net]
- rubyだと?
- 984 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 02:30:35.60 ID:r7V1DpIq.net]
- >>931
十分簡単な記述だと思うけど、俺ならタダの数値計算にする。 切り捨てで1 10倍して10で割ったあまりが1
- 985 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 02:31:06.65 ID:r7V1DpIq.net]
- 切り捨て1じゃないなw
- 986 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 06:00:15.29 ID:iMlStgtR.net]
- yokokara
- 987 名前:931 mailto:sage [2019/12/28(土) 08:39:10.00 ID:RMes1jy6.net]
- 要素は文字列でした 間違ってました
data = ["00", "01", "10", "11", "12", "22"] >>932 "2"を抽出時も簡単ですね 全く思いつかなかったです 3行の記述が1行に収まるので、こちらでいきたいと思います >>934 10倍後10で割る方法もレスされて思い出しました >>932 >>934 ありがとうございました
- 988 名前:デフォルトの名無しさん [2019/12/28(土) 10:40:09.14 ID:glKwkKz6.net]
- >>931
ある言語では p data.select{|x| x[0] == '0'}
- 989 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 11:22:22.26 ID:b3ohKRMf.net]
- [ x for x in data if re.search(r'1$', x)]
[ x for x in data if re.search(r'1.$', x)] とある言語では data.filter{|x| x.match? /1$/} data.filter{|x| x.match? /1.$/} またとある言語では data.filter(x=> /1$/.test(x)) data.filter(x=> /1.$/.test(x)) <
- 990 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 12:02:33.66 ID:vnZXJluZ.net]
- Ruby では、select でフィルターする
data = %w(00 01 10 11 12 22) p res_1 = data.select{ |x| x[ 0 ] == '0' } p res_2 = data.select{ |x| x[ 1 ] == '1' } 出力 ["00", "01"] ["01", "11"]
- 991 名前:デフォルトの名無しさん [2019/12/28(土) 13:03:02.30 ID:CljHkVQA.net]
- ♪───O(≧∇≦)Oキタ────♪
- 992 名前:デフォルトの名無しさん [2019/12/28(土) 15:28:51.07 ID:+sYlgNhA.net]
- >>929
ハゲは北神雄太。
|

|