当スレに★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公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/
〇前スレ〇
くだすれPython(超初心者用) その45【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1571188632/
探検
くだすれPython(超初心者用) その46【Ruby禁止】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/01/02(木) 15:56:54.08ID:ZUrZA+uS145デフォルトの名無しさん
2020/01/11(土) 18:57:41.73ID:8SjMRVd0 wxpythonのcomboboxを連携させる場合ってどうやればいいんですかね?
gyou = ('あ行','か行','さ行')
a = ('あたい,'いか','うなぎ','えのぐ,'おもいで')
k = ('かみなり','きなこ','くまで','けむし','こたつ')
s = ('さしみ','しらす','するめ','めまい','もも')
のリストを作り、
combobox_1 = wx.Combobox(panel1, -1, choices = '行',style=wx.CB_DROPDOWN, pos=(0, 390),size=(150, 20))
で選択された値をcombobox_2に反映させたいのですが、うまくいきません
gyou = ('あ行','か行','さ行')
a = ('あたい,'いか','うなぎ','えのぐ,'おもいで')
k = ('かみなり','きなこ','くまで','けむし','こたつ')
s = ('さしみ','しらす','するめ','めまい','もも')
のリストを作り、
combobox_1 = wx.Combobox(panel1, -1, choices = '行',style=wx.CB_DROPDOWN, pos=(0, 390),size=(150, 20))
で選択された値をcombobox_2に反映させたいのですが、うまくいきません
146デフォルトの名無しさん
2020/01/11(土) 19:07:58.90ID:l/QLWHKH147デフォルトの名無しさん
2020/01/11(土) 19:12:33.28ID:l/QLWHKH149デフォルトの名無しさん
2020/01/11(土) 22:10:14.08ID:mXX0vnIh 全体の質問スレがなかったのでここに質問します
私はWebサービス作れたら面白いな程度に考えています。そこで質問があります。いきなりPythonで大丈夫でしょうか?基盤となる他の言語があるのでしょうか?また、Webサービスを作れるものなのでしょうか?具体例ではTwitterなど超有名なものが出されるので…
私はWebサービス作れたら面白いな程度に考えています。そこで質問があります。いきなりPythonで大丈夫でしょうか?基盤となる他の言語があるのでしょうか?また、Webサービスを作れるものなのでしょうか?具体例ではTwitterなど超有名なものが出されるので…
150デフォルトの名無しさん
2020/01/11(土) 22:18:24.21ID:IeHCZeyd 型ヒントつけまくったら速度って向上すんのかな
あくまで可読性の問題?
あくまで可読性の問題?
151デフォルトの名無しさん
2020/01/11(土) 22:20:37.40ID:mXX0vnIh これくだすれってコードすれですかね?
でしたら上のやつ無視してくださいすみません
でしたら上のやつ無視してくださいすみません
152デフォルトの名無しさん
2020/01/11(土) 22:31:40.00ID:tdQ2h9sk くだすれって何なの?
意味がわからん
意味がわからん
153デフォルトの名無しさん
2020/01/11(土) 22:56:40.09ID:cnAODivo >>150
type hintは基本的に3rd partyのtype checker用なので
何もせずに速度が向上したりはしない
型をチェックして適切な実装を選択することで実行速度が変わるようなロジックを自分で作ったり
そういうライブラリを使えばhint無しよりは速度が向上する可能性はなきにしもあらず
3.7より前のバージョンはtype hintをコードの読み込み時に評価するので
評価コストの分だけtype hintがあると読み込みが遅い(らしいが、気にしたことはない)
type hintは基本的に3rd partyのtype checker用なので
何もせずに速度が向上したりはしない
型をチェックして適切な実装を選択することで実行速度が変わるようなロジックを自分で作ったり
そういうライブラリを使えばhint無しよりは速度が向上する可能性はなきにしもあらず
3.7より前のバージョンはtype hintをコードの読み込み時に評価するので
評価コストの分だけtype hintがあると読み込みが遅い(らしいが、気にしたことはない)
154デフォルトの名無しさん
2020/01/11(土) 22:57:26.01ID:/PybViq/ >>149
WebサービスはWebの知識があればPythonとPythonのフレームワークで構築できます
WebサービスはWebの知識があればPythonとPythonのフレームワークで構築できます
155デフォルトの名無しさん
2020/01/11(土) 23:10:13.39ID:mXX0vnIh >>154
ありがとうございます!Webの知識もないプログラム初心者なのでHTML・CSSを学んでから、または学びつつPythonを勉強しようと思います!
ありがとうございます!Webの知識もないプログラム初心者なのでHTML・CSSを学んでから、または学びつつPythonを勉強しようと思います!
156デフォルトの名無しさん
2020/01/11(土) 23:16:15.67ID:cnAODivo Webの知識にはHTML/CSSだでなく
HTTP, JavaScript(初級)/DOM, 各種ブラウザの開発ツール使い方
くらいは含まれてると思われる
サーバーサイドはパフォーマンス気にしなければPythonだけでほぼなんでもできるが
モバイルアプリやリッチなWebクライアントはPythonだけでは作れない
HTTP, JavaScript(初級)/DOM, 各種ブラウザの開発ツール使い方
くらいは含まれてると思われる
サーバーサイドはパフォーマンス気にしなければPythonだけでほぼなんでもできるが
モバイルアプリやリッチなWebクライアントはPythonだけでは作れない
157デフォルトの名無しさん
2020/01/11(土) 23:22:24.84ID:mXX0vnIh158デフォルトの名無しさん
2020/01/11(土) 23:32:59.83ID:IeHCZeyd159デフォルトの名無しさん
2020/01/12(日) 01:21:03.35ID:PW2KE/yt >>143-144
Ruby, selenium webdriver, headless モードで、38 Mbps
sleep 45 が無いと、すぐに、0 が取得されてしまう!
つまり、このdiv が、最初から存在していて、0になっているのだろう。
<div class="speed-results-container succeeded" id="speed-value">0</div>
理想的には、結果が出たときに現れる、要素を待つのが良い。
その方が、sleep で時間指定しないで済むから
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 60 # 要素の検索の timeout
driver.navigate.to "https://fast.com/ja/"
sleep 45
puts driver.find_element( :id, "speed-value" ).text
driver.quit
Ruby, selenium webdriver, headless モードで、38 Mbps
sleep 45 が無いと、すぐに、0 が取得されてしまう!
つまり、このdiv が、最初から存在していて、0になっているのだろう。
<div class="speed-results-container succeeded" id="speed-value">0</div>
理想的には、結果が出たときに現れる、要素を待つのが良い。
その方が、sleep で時間指定しないで済むから
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 60 # 要素の検索の timeout
driver.navigate.to "https://fast.com/ja/"
sleep 45
puts driver.find_element( :id, "speed-value" ).text
driver.quit
160デフォルトの名無しさん
2020/01/12(日) 03:20:28.12ID:M8sF3s6B161デフォルトの名無しさん
2020/01/12(日) 03:26:40.80ID:8P2rssJG 次のプロジェクトを何の言語でやるか、検討した結果PHP派とPython派に分かれた。
Rubyはみんな嫌がった。
Rubyはみんな嫌がった。
162デフォルトの名無しさん
2020/01/12(日) 03:27:02.71ID:aGAZplX2163デフォルトの名無しさん
2020/01/12(日) 10:35:42.78ID:eDYJZWaK データフレームで
target shape
1 0
0 1
1 1
としたときtarget==shapeのデータをスライスとして取り出したいのですが、
同一データフレーム内のデータを比較してスライスするにはどうすれば良いのでしょう?
target shape
1 0
0 1
1 1
としたときtarget==shapeのデータをスライスとして取り出したいのですが、
同一データフレーム内のデータを比較してスライスするにはどうすれば良いのでしょう?
164デフォルトの名無しさん
2020/01/12(日) 11:16:34.31ID:/bwylFW9 df[df[‘target’]==df[‘shape’]]
または
df.query(‘target==shape’)
または
df.query(‘target==shape’)
165デフォルトの名無しさん
2020/01/12(日) 12:31:28.08ID:eDYJZWaK166デフォルトの名無しさん
2020/01/12(日) 12:34:18.40ID:eDYJZWaK a=Fale, b=True
だけをスライスしたいのですが、
df_correct = df[df['a'] == False & (df['b']==True)]
とすると
a==False
の条件でスライスされ
b==True
が無視されます。
なぜなんでしょう?
だけをスライスしたいのですが、
df_correct = df[df['a'] == False & (df['b']==True)]
とすると
a==False
の条件でスライスされ
b==True
が無視されます。
なぜなんでしょう?
167デフォルトの名無しさん
2020/01/12(日) 12:35:45.17ID:eDYJZWaK168デフォルトの名無しさん
2020/01/12(日) 13:20:04.86ID:eDYJZWaK169デフォルトの名無しさん
2020/01/12(日) 13:20:54.36ID:eDYJZWaK >>164
python的には内包表記とqueryではどちらが推奨なんでしょうか?
python的には内包表記とqueryではどちらが推奨なんでしょうか?
170デフォルトの名無しさん
2020/01/12(日) 13:48:50.66ID:AzrAZmp9 python 3 で16進数文字列をutf-8文字列に変えたいんですが、簡単な方法ないですか?
171デフォルトの名無しさん
2020/01/12(日) 14:24:18.86ID:M8sF3s6B172デフォルトの名無しさん
2020/01/12(日) 15:47:52.03ID:iU1LDXiT いつのまにかインデントが崩れて正常に動作しなくなってた
でも中括弧がないので元の状態が分からない
元に戻せない
でも中括弧がないので元の状態が分からない
元に戻せない
173デフォルトの名無しさん
2020/01/12(日) 19:12:52.42ID:N3Z2zUK8 import binascii
print('あ'.encode('utf-8'))
print(binascii.a2b_hex('e38182'))
print(binascii.a2b_hex('e38182').decode('utf-8'))
print('あ'.encode('utf-8'))
print(binascii.a2b_hex('e38182'))
print(binascii.a2b_hex('e38182').decode('utf-8'))
174デフォルトの名無しさん
2020/01/12(日) 20:02:34.80ID:7XI25yF1 >>172
ワロタwwwwww
ワロタwwwwww
175159
2020/01/12(日) 20:18:51.94ID:PW2KE/yt >>160
<div class="speed-results-container succeeded" id="speed-value">0</div>
この要素は、sleep 45 が無いと、すぐに、0 が取得されてしまう!
つまり、このdiv が、最初から存在していて、0になっているのだろう
このサイトを1分ぐらい見てると、数値が動くだろ
たぶん、1分ぐらい掛けて、何回も非同期処理で、この値を書き換えている。
だから、1分近く待たないと、速度が安定しない
<div class="speed-results-container succeeded" id="speed-value">0</div>
この要素は、sleep 45 が無いと、すぐに、0 が取得されてしまう!
つまり、このdiv が、最初から存在していて、0になっているのだろう
このサイトを1分ぐらい見てると、数値が動くだろ
たぶん、1分ぐらい掛けて、何回も非同期処理で、この値を書き換えている。
だから、1分近く待たないと、速度が安定しない
176デフォルトの名無しさん
2020/01/12(日) 20:56:59.94ID:UO120eKA お金を計算するわけでもないのですが
小数点の計算に全部decimalつけるの面倒なんですけど
何とかならないですか?
小数点の計算に全部decimalつけるの面倒なんですけど
何とかならないですか?
177デフォルトの名無しさん
2020/01/12(日) 21:09:49.97ID:M8sF3s6B >>175
「0 が取得されてしまう!」じゃねーよ
もうちょっと頭つかってくれ
速度が安定するまで待ちたいなら
「wait until 速度が安定?」みたいなコードを書けばいいだけだろ
測定完了を示す状態変化があるのに
わざわざ速度が安定したかどうかで判定する必要もないんだけどさ
「0 が取得されてしまう!」じゃねーよ
もうちょっと頭つかってくれ
速度が安定するまで待ちたいなら
「wait until 速度が安定?」みたいなコードを書けばいいだけだろ
測定完了を示す状態変化があるのに
わざわざ速度が安定したかどうかで判定する必要もないんだけどさ
178159
2020/01/12(日) 21:32:01.79ID:PW2KE/yt 他人のサイトをデバッグ・解析して、測定完了を示す状態を見つけるとか、それは大変!
仕様書もないのに、できない。
そういう解析を仕事としては色々やってきたけど、面倒
仕様書もないのに、できない。
そういう解析を仕事としては色々やってきたけど、面倒
179デフォルトの名無しさん
2020/01/12(日) 21:59:15.48ID:LmjMg5d7 rubyくん
ID変え忘れてるよ
ID変え忘れてるよ
180デフォルトの名無しさん
2020/01/12(日) 23:01:37.62ID:aXgbqZV+ こんにちは質問させてください。
20190112, A, 91
20190112, B, 82
20190111, A, 93
…
という感じで[日付,名前, 得点]の3カラムのデータがあり、各行の日付段階での、
その人の過去30日平均得点(人別の得点の移動平均)をできるだけ高速に計算したいのですが、
どのようにすればよいでしょうか?
なお、今はsqliteで、以下のような原始的なプログラムを書いてみましたが、遅くて困っております。
# date, nameの組み合わせを抜き出し
list = cur.execute('select date, name from table').fetchall
# listすべてにfor文で処理
for i in range(len(list)):
date = list[i][0]
name = list[i][1]
# dateから30日前の日付を計算
date30before (計算略)
# nameが一致しているそのデータから過去30日分のスコアを抜き出し
scoreList = cur.execute('select score from table where name == ? and ? < date < ?',(date30before, date)).fetchall
# 抜き出した30日分のスコアを平均
scoreListAve(計算略)
# 元のテーブルのdate, nameが一致する行に書き込み
cur.execute('update table set score30Ave = ? where date = ? and name == ?'),(scoreListAve, date, name))
con.commit() # for後、コミット
20190112, A, 91
20190112, B, 82
20190111, A, 93
…
という感じで[日付,名前, 得点]の3カラムのデータがあり、各行の日付段階での、
その人の過去30日平均得点(人別の得点の移動平均)をできるだけ高速に計算したいのですが、
どのようにすればよいでしょうか?
なお、今はsqliteで、以下のような原始的なプログラムを書いてみましたが、遅くて困っております。
# date, nameの組み合わせを抜き出し
list = cur.execute('select date, name from table').fetchall
# listすべてにfor文で処理
for i in range(len(list)):
date = list[i][0]
name = list[i][1]
# dateから30日前の日付を計算
date30before (計算略)
# nameが一致しているそのデータから過去30日分のスコアを抜き出し
scoreList = cur.execute('select score from table where name == ? and ? < date < ?',(date30before, date)).fetchall
# 抜き出した30日分のスコアを平均
scoreListAve(計算略)
# 元のテーブルのdate, nameが一致する行に書き込み
cur.execute('update table set score30Ave = ? where date = ? and name == ?'),(scoreListAve, date, name))
con.commit() # for後、コミット
181デフォルトの名無しさん
2020/01/12(日) 23:44:09.77ID:8exfRg1S 少なくともSELECT文はfor文で回す必要がないように見える
ウィンドウ関数とか使って、1回のSELECT文けで、その後のUPDATE文の条件として使いたいscoreListAve, date, nameを抽出出来るはず
ウィンドウ関数とか使って、1回のSELECT文けで、その後のUPDATE文の条件として使いたいscoreListAve, date, nameを抽出出来るはず
182180
2020/01/12(日) 23:53:05.86ID:aXgbqZV+ >181
ウインドウ関数を知らないので調べてみます。
ありがとうございます。
ウインドウ関数を知らないので調べてみます。
ありがとうございます。
183デフォルトの名無しさん
2020/01/13(月) 01:51:12.33ID:6QaMEdT1 where の条件に、日付・名前があって、
それらに索引インデックスが付いていないのなら、絞り込めず、全探索になるから!
例えば、100万レコードあれば、それらをすべて検索してから、チェックするから!
基本的には、検索条件に索引インデックスが付いていないものは、全探索になるから検索しない!
情報処理資格のデータベーススペシャリストの教科書で、
データベースの設計を勉強すべし!
それらに索引インデックスが付いていないのなら、絞り込めず、全探索になるから!
例えば、100万レコードあれば、それらをすべて検索してから、チェックするから!
基本的には、検索条件に索引インデックスが付いていないものは、全探索になるから検索しない!
情報処理資格のデータベーススペシャリストの教科書で、
データベースの設計を勉強すべし!
184180
2020/01/13(月) 02:43:19.89ID:wBE7Qmaa >183
助言ありがとうございます。
書き忘れましたがname, dateのIndexはすでに作ってます。
cur.execute('create index dateIndex on table(date)')
Indexでだいぶましになったのですが、それでも現状、
forが100進むのに1秒くらいなので、20万レコードで30分くらいかかります。
助言ありがとうございます。
書き忘れましたがname, dateのIndexはすでに作ってます。
cur.execute('create index dateIndex on table(date)')
Indexでだいぶましになったのですが、それでも現状、
forが100進むのに1秒くらいなので、20万レコードで30分くらいかかります。
185デフォルトの名無しさん
2020/01/13(月) 04:48:03.15ID:nfiKoGl1 歯抜け無しならWindow関数で
歯抜け有りなら相関サブクエリで
― Window関数 ―
SELECT date, name, score, avg(score) OVER (
PARTITION BY name ORDER BY date ROWS BETWEEN 29 PRECEDING AND CURRENT ROW
) AS moving_avg
FROM score_table
ORDER BY name;
歯抜け有りなら相関サブクエリで
― Window関数 ―
SELECT date, name, score, avg(score) OVER (
PARTITION BY name ORDER BY date ROWS BETWEEN 29 PRECEDING AND CURRENT ROW
) AS moving_avg
FROM score_table
ORDER BY name;
186デフォルトの名無しさん
2020/01/13(月) 04:59:38.72ID:nfiKoGl1 相関サブクエリのほうはブロックされたからここに貼っとく
https://ideone.com/73jaTZ
https://ideone.com/73jaTZ
187180
2020/01/13(月) 05:49:10.94ID:wBE7Qmaa >185
大変ありがとうございます。
歯抜け有りなので相関サブクエリの方をまず試してみます。
ここまで見本のコードを書いていただければ自分のレベルでも
なんとか取り入れられそうです。
大変ありがとうございます。
歯抜け有りなので相関サブクエリの方をまず試してみます。
ここまで見本のコードを書いていただければ自分のレベルでも
なんとか取り入れられそうです。
188デフォルトの名無しさん
2020/01/13(月) 09:52:19.26ID:kwqyPibM189デフォルトの名無しさん
2020/01/13(月) 09:57:49.58ID:Co2mHaqk >>180のコードでメモリが足りているならsqlをどうこうする必要はないと思うが。
190デフォルトの名無しさん
2020/01/13(月) 10:30:58.73ID:BvowWoiX 1回のクエリで行けるところを、わざわざループでクエリ投げまくる意味はないでしょ
191デフォルトの名無しさん
2020/01/13(月) 10:58:18.23ID:bfpXOE5X クエリが苦手でPythoに慣れているなら意味はある
クエリは言語としては非常に特殊だからね
常用しない人にはとっつきづらい
クエリは言語としては非常に特殊だからね
常用しない人にはとっつきづらい
192デフォルトの名無しさん
2020/01/13(月) 10:59:15.38ID:Yl8Am7cI SQLの書き方次第で100倍は効率良くなる事案
193デフォルトの名無しさん
2020/01/13(月) 11:38:01.76ID:nlvLw0Pz194デフォルトの名無しさん
2020/01/13(月) 13:13:36.22ID:V22NtS8V 距離を計算したいのですが、
df['distance']=math.sqrt((df['x_distance']**2+df['y_distance']**2).values)
で
only size-1 arrays can be converted to Python scalars
となります。
DFを.valueつけてndarrayに変換してsqrt()に渡せばいいのかと思ったのですが・・・
お教えいただけると助かります
df['distance']=math.sqrt((df['x_distance']**2+df['y_distance']**2).values)
で
only size-1 arrays can be converted to Python scalars
となります。
DFを.valueつけてndarrayに変換してsqrt()に渡せばいいのかと思ったのですが・・・
お教えいただけると助かります
195デフォルトの名無しさん
2020/01/13(月) 13:19:03.45ID:S1eVQBPA valuesで取ってから二乗して和をとってしないと行けないんじゃないの
196デフォルトの名無しさん
2020/01/13(月) 13:21:21.99ID:dQZR7cFx https://pastebin.com/dLSjsvev
このコメントアウトしているコードを実行するとエラーが出るのですが、何が悪いのでしょうか?
このコメントアウトしているコードを実行するとエラーが出るのですが、何が悪いのでしょうか?
197デフォルトの名無しさん
2020/01/13(月) 13:24:28.21ID:uorRSC+x198デフォルトの名無しさん
2020/01/13(月) 13:37:39.33ID:+xCO6TbN >>196
formatなんて組み込み関数はない
formatなんて組み込み関数はない
199デフォルトの名無しさん
2020/01/13(月) 13:41:07.13ID:DXn4EK/n Python学びたいんだけどどっから手を付けていいかわからん。
取り敢えず、クジラ本 「実践力を身につける Pythonの教科書」(4839960240)は買ってきた。
取り敢えず、クジラ本 「実践力を身につける Pythonの教科書」(4839960240)は買ってきた。
200デフォルトの名無しさん
2020/01/13(月) 13:44:12.30ID:V22NtS8V201デフォルトの名無しさん
2020/01/13(月) 14:08:01.51ID:IO5oYjrW 教えて下さい。
pythonのコードを友人に書いてもらったのですが標準のIDLEではRunModuleで
実行できるのにコマンドプロンプトで実行しようとしたら以下のエラーを吐きます。
python3.6.5
windows10
Traceback (most recent call last):
File "C:\Users\user\Desktop\201911_Project_\201911_Project_\sendMailLogic.py", line 19, in <module>
WebSiteList = dac.getWebSiteList()
File "C:\Users\user\Desktop\201911_Project_\201911_Project_\DAC.py", line 96, in getWebSiteList
for row in cur.execute(strSQL):
sqlite3.OperationalError: no such table: WebSite_List
よろしくお願いします。
pythonのコードを友人に書いてもらったのですが標準のIDLEではRunModuleで
実行できるのにコマンドプロンプトで実行しようとしたら以下のエラーを吐きます。
python3.6.5
windows10
Traceback (most recent call last):
File "C:\Users\user\Desktop\201911_Project_\201911_Project_\sendMailLogic.py", line 19, in <module>
WebSiteList = dac.getWebSiteList()
File "C:\Users\user\Desktop\201911_Project_\201911_Project_\DAC.py", line 96, in getWebSiteList
for row in cur.execute(strSQL):
sqlite3.OperationalError: no such table: WebSite_List
よろしくお願いします。
202デフォルトの名無しさん
2020/01/13(月) 14:16:44.85ID:6kghygIo203デフォルトの名無しさん
2020/01/13(月) 15:42:49.08ID:V22NtS8V 2Dカードゲームでユーザの行動特性を調査する
研究用アプリを開発しようと思ってます
開発環境をPygameにするか、Unityにするかで悩み中
Unityのほうが色々ゲーム用の機能揃ってて見栄えの良いUI作れそうなんだけど、
ユーザの行動データを数値解析したり、将来的には機械学習も取り入れようかと思ってるので、
その点ではPythonのほうが親和性高そう
どちらが、おすすめとかありますか?
研究用アプリを開発しようと思ってます
開発環境をPygameにするか、Unityにするかで悩み中
Unityのほうが色々ゲーム用の機能揃ってて見栄えの良いUI作れそうなんだけど、
ユーザの行動データを数値解析したり、将来的には機械学習も取り入れようかと思ってるので、
その点ではPythonのほうが親和性高そう
どちらが、おすすめとかありますか?
204デフォルトの名無しさん
2020/01/13(月) 15:43:53.12ID:V22NtS8V ちなみにUnity、c#のほうが少しは得意
Pythonは最近sklearnとか使い始めたくらいの超初心者です
Pythonは最近sklearnとか使い始めたくらいの超初心者です
205デフォルトの名無しさん
2020/01/13(月) 15:51:01.10ID:tF3chcAw それは
※ただし、選択できるプログラミング言語は一つだけとする
というような縛りプレイルールが暗黙的に存在すると考えていいのかしら?
でなかったら俺はゲームをUntiyで書いて機械学習をPythonでやるかな
※ただし、選択できるプログラミング言語は一つだけとする
というような縛りプレイルールが暗黙的に存在すると考えていいのかしら?
でなかったら俺はゲームをUntiyで書いて機械学習をPythonでやるかな
206デフォルトの名無しさん
2020/01/13(月) 15:52:19.18ID:ghAse/mn 親和性って書いてるだろ
207デフォルトの名無しさん
2020/01/13(月) 15:54:55.78ID:tF3chcAw だから、親和性を最優先にするならそれぞれ得意分野に使うのが最善に決まってるだろw
はぁーガイジは人間に進化するまでママと遊んでてくれないかね
はぁーガイジは人間に進化するまでママと遊んでてくれないかね
208デフォルトの名無しさん
2020/01/13(月) 15:58:12.59ID:ghAse/mn それ親和性優先してねーじゃん
209デフォルトの名無しさん
2020/01/13(月) 16:08:32.64ID:GhUCXbF0 >>208
何と何の親和性について語ってるの?
何と何の親和性について語ってるの?
210デフォルトの名無しさん
2020/01/13(月) 16:10:23.44ID:ghAse/mn ゲームエンジンと機械学習エンジンの接続
211デフォルトの名無しさん
2020/01/13(月) 17:01:18.46ID:IO5oYjrW212デフォルトの名無しさん
2020/01/13(月) 17:03:03.66ID:6kghygIo >>211
コマンドプロンプトのカレントディレクトリがIDLEのカレントディレクトリと違ってるんだろ
コマンドプロンプトのカレントディレクトリがIDLEのカレントディレクトリと違ってるんだろ
213デフォルトの名無しさん
2020/01/13(月) 17:15:24.55ID:nfiKoGl1 >>203
それ前も聞いてたけど公開して広くデータを取得する可能性考えたらJavaScript一択だと思うぞ
それにカードゲームというのがいわゆるソシャゲ系で
アクションや派手なエフェクトを多用するやつならともかく
トランプ系の動きの少ないやつならHTML/CSS使ったほうがはるかに簡単
研究室にテスター呼んでやってもらうだけなら
自分が作りやすさだけ考えればいいんだろうけど
その場合でもデータ連携で十分なんだから
得意分野の違う言語を無理やり一つにする意味あんまりない
それ前も聞いてたけど公開して広くデータを取得する可能性考えたらJavaScript一択だと思うぞ
それにカードゲームというのがいわゆるソシャゲ系で
アクションや派手なエフェクトを多用するやつならともかく
トランプ系の動きの少ないやつならHTML/CSS使ったほうがはるかに簡単
研究室にテスター呼んでやってもらうだけなら
自分が作りやすさだけ考えればいいんだろうけど
その場合でもデータ連携で十分なんだから
得意分野の違う言語を無理やり一つにする意味あんまりない
214デフォルトの名無しさん
2020/01/13(月) 17:58:01.77ID:nfiKoGl1 >>184
書き忘れたが nameとdateにそれぞれindex張るんじゃなく
(name, date)のcomposite indexにしたほうが速くなるはず
julianday()を使えば歯抜け有りでもWindow関数でいけた
これ使う場合はindexも(name, julianday(date))に
PARTITION BY name ORDER BY julianday(date) RANGE BETWEEN 29 PRECEDING AND CURRENT ROW
書き忘れたが nameとdateにそれぞれindex張るんじゃなく
(name, date)のcomposite indexにしたほうが速くなるはず
julianday()を使えば歯抜け有りでもWindow関数でいけた
これ使う場合はindexも(name, julianday(date))に
PARTITION BY name ORDER BY julianday(date) RANGE BETWEEN 29 PRECEDING AND CURRENT ROW
215デフォルトの名無しさん
2020/01/13(月) 18:01:34.92ID:V22NtS8V >>213
ごめんなさい
今やってることの次の研究なので、定期的に頭の中に湧いてくるみたいです。
Unityで行こうと思ってたんだけど、Pythonで機械学習の初歩も学び始めたら、
Pythonでやったほうがいいのかまた悩みはじめました
前は
Unityカードゲーム
↓
データCSVで吐き出し
↓
Pythonで解析
と考えていたけど、カードゲーム中にもデータを機械学習させて、カードゲームの設定をいじるとかしたくなってきました。
そうするとPygameでやったほうがいいのかなと思うんだけど、Pygameの評判があまり良くないようなので、グルグル思案中・・・。
ごめんなさい
今やってることの次の研究なので、定期的に頭の中に湧いてくるみたいです。
Unityで行こうと思ってたんだけど、Pythonで機械学習の初歩も学び始めたら、
Pythonでやったほうがいいのかまた悩みはじめました
前は
Unityカードゲーム
↓
データCSVで吐き出し
↓
Pythonで解析
と考えていたけど、カードゲーム中にもデータを機械学習させて、カードゲームの設定をいじるとかしたくなってきました。
そうするとPygameでやったほうがいいのかなと思うんだけど、Pygameの評判があまり良くないようなので、グルグル思案中・・・。
216180
2020/01/13(月) 19:27:28.23ID:wBE7Qmaa 180ですが、教えてもらった相関サブクエリによるselectのやり方で
20万レコード30分くらいかかってたのが2分くらいまで短縮できました。
助かりました。
select後、sqlに保存は依然としてfor文ですが、それも込みで2分です。
保存部分もまとめて、
update table t1 set (select avg(score) …
というやり方ができないかと思って試しましたが、うまくできませんでした。
たぶん、最初にコメントされた方はそこもわかった上で
「少なくともselect文は」と言われたのでしょう。
ウインドウ関数、コンポジットインデックスも教えてくださりありがとうございます。
また試してみます。
20万レコード30分くらいかかってたのが2分くらいまで短縮できました。
助かりました。
select後、sqlに保存は依然としてfor文ですが、それも込みで2分です。
保存部分もまとめて、
update table t1 set (select avg(score) …
というやり方ができないかと思って試しましたが、うまくできませんでした。
たぶん、最初にコメントされた方はそこもわかった上で
「少なくともselect文は」と言われたのでしょう。
ウインドウ関数、コンポジットインデックスも教えてくださりありがとうございます。
また試してみます。
217デフォルトの名無しさん
2020/01/13(月) 19:42:53.29ID:Yl8Am7cI218180
2020/01/13(月) 20:25:11.89ID:wBE7Qmaa >217
たしかに!
意識できていなかったのですが、ちょっとスレ違いでした。すみません。
みなさんクエリがなんとかとか言って争ってる?ので
5ちゃんねるは教えてくれる人々がいつもなんか争ってるなぁとw
たしかに!
意識できていなかったのですが、ちょっとスレ違いでした。すみません。
みなさんクエリがなんとかとか言って争ってる?ので
5ちゃんねるは教えてくれる人々がいつもなんか争ってるなぁとw
219デフォルトの名無しさん
2020/01/13(月) 20:49:48.38ID:6kghygIo220デフォルトの名無しさん
2020/01/13(月) 21:20:28.09ID:nfiKoGl1 >>215
↓実装方法を選択する一般的な思考プロセスを経てないので目移りするんじゃないのかな
1. 自分が求める機能/非機能要求を整理する
2. 評価軸を決める
3. 実装方法の選択肢を考えられる限り出す
4. 選択肢のPros/Consを把握する
5. 評価軸とPros/Consからトレードオフを見極めて実装方法を選択する
UnityとかPyGameとか特定のソリューション名で考えずに
もう少し抽象度あげて選択肢を考えたほうがいいと思う
Pythonで全部やる、C#で全部やる、Python+C#のハイブリッドと大枠の選択肢があって
ハイブリッドの場合はファイル連携、DB連携、プロセス連携、API連携といろんなレベルがある
どれがいいかは上に書いた1や2が整理されてないと選びようがない
↓実装方法を選択する一般的な思考プロセスを経てないので目移りするんじゃないのかな
1. 自分が求める機能/非機能要求を整理する
2. 評価軸を決める
3. 実装方法の選択肢を考えられる限り出す
4. 選択肢のPros/Consを把握する
5. 評価軸とPros/Consからトレードオフを見極めて実装方法を選択する
UnityとかPyGameとか特定のソリューション名で考えずに
もう少し抽象度あげて選択肢を考えたほうがいいと思う
Pythonで全部やる、C#で全部やる、Python+C#のハイブリッドと大枠の選択肢があって
ハイブリッドの場合はファイル連携、DB連携、プロセス連携、API連携といろんなレベルがある
どれがいいかは上に書いた1や2が整理されてないと選びようがない
221デフォルトの名無しさん
2020/01/13(月) 21:25:54.08ID:nwry0R0l 大袈裟だな。
222デフォルトの名無しさん
2020/01/13(月) 21:52:26.47ID:FBCsPnZa 北海道のグラサンスーパーハゲザーはここにはこないのー?
223デフォルトの名無しさん
2020/01/13(月) 22:10:39.12ID:P1+rByUv >>211
WebSite_Listの読み込みやってるあたりで外部ファイル参照してない?
ファイル読み込みしてたら、ファイル名をフルパスにするか、 import osして
os.path.dirname(os.path.abspath(__file__)) + '/'+filenameにしてみたら(実行ファイルと同ディレクトリの場合)?
WebSite_Listの読み込みやってるあたりで外部ファイル参照してない?
ファイル読み込みしてたら、ファイル名をフルパスにするか、 import osして
os.path.dirname(os.path.abspath(__file__)) + '/'+filenameにしてみたら(実行ファイルと同ディレクトリの場合)?
224デフォルトの名無しさん
2020/01/13(月) 22:12:13.05ID:BvowWoiX pathlibつかえ
225デフォルトの名無しさん
2020/01/14(火) 10:02:51.83ID:RNgj0nXq >>198 何言ってんだ、あるぞ
226デフォルトの名無しさん
2020/01/14(火) 10:44:24.13ID:sNEc9p7V >>215
Pythonが機械学習部分を担当し、Unityがゲーム部分を担当し、
両者が通信を行えば言ってるようなことはできる。
(そして正直それがおすすめ)
出来ないうちに色々こんな機能も欲しいって言って考えていくと、要求ばかり大きくなって
結局何も完成しないから、まずは最小限使えるものを作ってしまうべき。
最悪のケースでも、書いたコードは無駄となるかもしれないけど、
設計手法や要素技術は身に着くのだから別のプラットフォームに移植するのに始めのときより時間がかからなくなる。
Pythonが機械学習部分を担当し、Unityがゲーム部分を担当し、
両者が通信を行えば言ってるようなことはできる。
(そして正直それがおすすめ)
出来ないうちに色々こんな機能も欲しいって言って考えていくと、要求ばかり大きくなって
結局何も完成しないから、まずは最小限使えるものを作ってしまうべき。
最悪のケースでも、書いたコードは無駄となるかもしれないけど、
設計手法や要素技術は身に着くのだから別のプラットフォームに移植するのに始めのときより時間がかからなくなる。
227デフォルトの名無しさん
2020/01/14(火) 13:35:18.55ID:Cb2SImdL 「くだすれ」ってなんですか?
228デフォルトの名無しさん
2020/01/14(火) 13:59:52.47ID:6KmUa3mX ここが起源っぽい
https://www.log ;soku.com/r/2ch.net/tech/1023766485/
https://www.log ;soku.com/r/2ch.net/tech/1023766485/
229デフォルトの名無しさん
2020/01/14(火) 14:01:21.23ID:n2n8mDAV pythonでデータベース使うならどれが簡単?
230デフォルトの名無しさん
2020/01/14(火) 14:10:20.88ID:Sh3SY+TQ sqlite3
231デフォルトの名無しさん
2020/01/14(火) 14:10:23.62ID:Cb2SImdL >>228
なんでそんな略称にしようと思ったんだろうな
なんでそんな略称にしようと思ったんだろうな
232デフォルトの名無しさん
2020/01/14(火) 14:11:37.48ID:Sh3SY+TQ くそスレ
くそが出そう半分出かかってるがトイレ遠くて困ってる
くだらないスレ
くそが出そう半分出かかってるがトイレ遠くて困ってる
くだらないスレ
233デフォルトの名無しさん
2020/01/14(火) 14:14:12.10ID:/8RfG7cV >>229
お前が何がしたいのか次第だろう
Webアプリ作ろうとしてるんだったらいくらSQLiteの扱いが簡単とはいえ選択肢に入らないし、
データ分析なんかで大きなデータセットを扱うんだったらBigQueryになるかもしれない
お前が何がしたいのか次第だろう
Webアプリ作ろうとしてるんだったらいくらSQLiteの扱いが簡単とはいえ選択肢に入らないし、
データ分析なんかで大きなデータセットを扱うんだったらBigQueryになるかもしれない
234デフォルトの名無しさん
2020/01/14(火) 14:16:57.58ID:NngjCG95 ポスグレをサイコPGで
235デフォルトの名無しさん
2020/01/14(火) 14:18:33.49ID:PBX58Pvh memcached
236デフォルトの名無しさん
2020/01/14(火) 15:32:37.37ID:ryFU8X4N >>229 sqlalchemy
237デフォルトの名無しさん
2020/01/14(火) 20:03:55.62ID:V5Q3d6Dh pandas関係です。
>>> train_df[['Embarked', 'Survived']].groupby('Embarked').mean()
Survived
Embarked
C 0.553571
Q 0.389610
S 0.336957
>>> train_df[['Embarked', 'Survived']].groupby('Embarked').count()
Survived
Embarked
C 168
Q 77
S 644
と2回メソッド実行が面倒です。
以下のようなDataFrameを得たいのですが、スマートな方法ありますか?
Mean Count
Embarked
C 0.553571 168
Q 0.389610 77
S 0.336957 644
>>> train_df[['Embarked', 'Survived']].groupby('Embarked').mean()
Survived
Embarked
C 0.553571
Q 0.389610
S 0.336957
>>> train_df[['Embarked', 'Survived']].groupby('Embarked').count()
Survived
Embarked
C 168
Q 77
S 644
と2回メソッド実行が面倒です。
以下のようなDataFrameを得たいのですが、スマートな方法ありますか?
Mean Count
Embarked
C 0.553571 168
Q 0.389610 77
S 0.336957 644
238デフォルトの名無しさん
2020/01/14(火) 20:12:28.50ID:V5Q3d6Dh 自決しました。aggを使うのですね。
239デフォルトの名無しさん
2020/01/14(火) 20:19:00.39ID:3etKzhuc 自決したのか!!!
240デフォルトの名無しさん
2020/01/14(火) 20:20:27.07ID:eL1p+DpS >>238
命は大切にしろよ
命は大切にしろよ
241デフォルトの名無しさん
2020/01/14(火) 21:48:30.83ID:sWWbL+aD 超初心者な質問で申し訳ないのですが
mの行列の縦の部分に行列Pを入れたいのですがどうしたらいいですか?
こんな感じにしたいのです
m=[[1,2,3,4],[1,2,3,4],[1,2,3,4],[1,2,3,4]]
p=[5,6,7,8]
m[0][3]=p[0]
m[1][3]=p[1]
m[2][3]=p[2]
m[3][3]=p[3]
mの行列の縦の部分に行列Pを入れたいのですがどうしたらいいですか?
こんな感じにしたいのです
m=[[1,2,3,4],[1,2,3,4],[1,2,3,4],[1,2,3,4]]
p=[5,6,7,8]
m[0][3]=p[0]
m[1][3]=p[1]
m[2][3]=p[2]
m[3][3]=p[3]
242デフォルトの名無しさん
2020/01/14(火) 22:06:55.30ID:4urAtQVN numpyが楽
import numpy as np
m=np.array(m)
p=np.array(p)
m[:,3]=p
import numpy as np
m=np.array(m)
p=np.array(p)
m[:,3]=p
243デフォルトの名無しさん
2020/01/14(火) 22:19:54.34ID:Cb2SImdL rubyでは
244241
2020/01/14(火) 22:29:22.59ID:sWWbL+aD■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★9 [BFU★]
- 【赤坂ライブハウス刺傷】逃走していた自衛官の男(43)を殺人未遂の疑いで逮捕 警視庁 被害女性とは知人関係 [Ailuropoda melanoleuca★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 [ぐれ★]
- 高市首相が異例の“買春行為の罰則化の検討”に言及…世界では“買う側”に罰則を科すのが先進国のスタンダード ★2 [樽悶★]
- 「ふざけんな!」 国会議員給与、『月5万円増』報道にネット騒然 「国民が物価高で困っているのに」「定数削減とか言いながら…」★2 [♪♪♪★]
- 【硬貨】500円だと思ったら「500ウォンが入っていた」価値は約10分の1 全国で飲食店などで“500ウォントラブル”相次いで報告 [ぐれ★]
