くだすれPython(超初心者用) その46【Ruby禁止】

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/01/02(木) 15:56:54.08ID:ZUrZA+uS
当スレに★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/
128デフォルトの名無しさん
垢版 |
2020/01/09(木) 20:03:36.46ID:vYl+3riX
>>> np.array([[1,2,3],[4,5,6]]).flatten()
array([1, 2, 3, 4, 5, 6])
>>> np.array([[1,2,3],[4,5]]).flatten()
array([[1, 2, 3], [4, 5]], dtype=object)
めんどいな
129デフォルトの名無しさん
垢版 |
2020/01/09(木) 20:06:14.36ID:vYl+3riX
>>> pd.DataFrame([[1,2,3],[4,5]]).flatten()
AttributeError: 'DataFrame' object has no attribute 'flatten'
>>> pd.Series([[1,2,3],[4,5]]).flatten()
AttributeError: 'Series' object has no attribute 'flatten'
>>> list(int(_[1]) for _ in pd.concat(pd.Series(_[1:]) for _ in pd.DataFrame([[1,2,3],[4,5]]).itertuples()).iteritems() if not np.isnan(_[1]))
[1, 2, 3, 4, 5]
めんどい
2020/01/09(木) 20:41:39.72ID:ZiyVM7wM
df.query("tag.str.contains('log')")

だと、'LOG'や'Log'にマッチしないですが、queryを使った何か方法あります?
131デフォルトの名無しさん
垢版 |
2020/01/09(木) 20:49:32.76ID:vYl+3riX
df.query("tag.str.contains('log') or tag.str.contains('LOG') or tag.str.contains('Log')")
2020/01/09(木) 20:50:05.73ID:hJpPvhWv
dfにlower()を適用した行を追加する
133デフォルトの名無しさん
垢版 |
2020/01/09(木) 20:54:34.17ID:vYl+3riX
df.query("tag.str.contains('log', case=False)")
または
df.query("tag.str.contains('[lL][oO][gG]')")
134130
垢版 |
2020/01/09(木) 20:59:41.18ID:ZiyVM7wM
case=Falseでいいです。
おっさんありがとう。
135デフォルトの名無しさん
垢版 |
2020/01/09(木) 21:05:50.10ID:o7IUVb3B
あなたのハゲにサクセスしたい
2020/01/09(木) 22:29:38.19ID:rdMUJkc5
散布図書いて

凡例1:回帰直線あり
凡例2:回帰直線なし

としたいんですが
sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips, legend=False, fit_reg=False)

とfit_regを使うと凡例1、2とも回帰直線あり、なしで統一されますよね。
凡例ごとに回帰直線あり、なしを設定する方法ないでしょうか?
2020/01/09(木) 22:30:27.61ID:rdMUJkc5
もしくはlmplotで凡例1の回帰直線を書いて、
その後に凡例にの散布図を重ねるとかできるといいのですが・・・。
138デフォルトの名無しさん
垢版 |
2020/01/10(金) 08:58:33.71ID:rEsoa4AS
pywinautoをインストールし、以下を実行するとエラーが出ます。
Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from pywinauto.application import Application
---中略----
TypeError: item 2 in _argtypes_ passes a union by value, which is unsupported.
>>>
何かご存じの方いらっしゃいませんか?
2020/01/10(金) 17:45:23.17ID:DFPKFrGt
win32apiは用意されてるのかな
140デフォルトの名無しさん
垢版 |
2020/01/10(金) 18:01:26.41ID:rEsoa4AS
>>139
pywin32 221はインストールしてあります。
import win32api
と入力しても何も言われないので、インポートできてると思われます。
2020/01/10(金) 18:33:13.96ID:ygDjj+Gv
>>138
これかもね
https://github.com/pywinauto/pywinauto/issues/868
142デフォルトの名無しさん
垢版 |
2020/01/10(金) 19:11:57.27ID:rEsoa4AS
>>141
python3.7.4に下げたところ、うまく動きました!!
大変助かりました。ありがとうございました!
143デフォルトの名無しさん
垢版 |
2020/01/11(土) 12:56:53.77ID:+sNn4E0T
Webサイトの動的なパラメータを取得し、
PythonでCSVに保存したいのですが、
requestsでのJSの動的なパラメーターの操作・取得方法が分かりません。

どのようにしたらいいでしょうか?


具体的には"https://fast.com/ja/";で通信速度を定期的に
測りたいです。
144デフォルトの名無しさん
垢版 |
2020/01/11(土) 13:14:12.97ID:I3GzSO2X
api直で叩けるならrequestsでいいけど、
普通はseleniumの出番じゃないかな。
結果表示のelementが表示されるまで待って、そのあとselectorを使って読み取る。
145デフォルトの名無しさん
垢版 |
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に反映させたいのですが、うまくいきません
146デフォルトの名無しさん
垢版 |
2020/01/11(土) 19:07:58.90ID:l/QLWHKH
http://wxpython-users.1045709.n5.nabble.com/Updating-a-wx-ComboBox-list-s-contents-td2347790.html
147デフォルトの名無しさん
垢版 |
2020/01/11(土) 19:12:33.28ID:l/QLWHKH
https://www.python-izm.com/gui/wxpython/wxpython_combobox/
148デフォルトの名無しさん
垢版 |
2020/01/11(土) 21:39:28.93ID:8SjMRVd0
>>146
>>147
ありがとうございます。
理解できるようがんばります。
149デフォルトの名無しさん
垢版 |
2020/01/11(土) 22:10:14.08ID:mXX0vnIh
全体の質問スレがなかったのでここに質問します
私はWebサービス作れたら面白いな程度に考えています。そこで質問があります。いきなりPythonで大丈夫でしょうか?基盤となる他の言語があるのでしょうか?また、Webサービスを作れるものなのでしょうか?具体例ではTwitterなど超有名なものが出されるので…
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
くだすれって何なの?
意味がわからん
2020/01/11(土) 22:56:40.09ID:cnAODivo
>>150
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のフレームワークで構築できます
155デフォルトの名無しさん
垢版 |
2020/01/11(土) 23:10:13.39ID:mXX0vnIh
>>154
ありがとうございます!Webの知識もないプログラム初心者なのでHTML・CSSを学んでから、または学びつつPythonを勉強しようと思います!
2020/01/11(土) 23:16:15.67ID:cnAODivo
Webの知識にはHTML/CSSだでなく
HTTP, JavaScript(初級)/DOM, 各種ブラウザの開発ツール使い方
くらいは含まれてると思われる

サーバーサイドはパフォーマンス気にしなければPythonだけでほぼなんでもできるが
モバイルアプリやリッチなWebクライアントはPythonだけでは作れない
157デフォルトの名無しさん
垢版 |
2020/01/11(土) 23:22:24.84ID:mXX0vnIh
>>156
私にはまだ早い領域のようですね…
教えて下さった言語含めもうちょっと調べてみます
ありがとうございます!
2020/01/11(土) 23:32:59.83ID:IeHCZeyd
>>153
やっぱそうなんだ
コンパイルしてるわけじゃないしな
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
2020/01/12(日) 03:20:28.12ID:M8sF3s6B
>>159
capybara使えよ
implicit_wait=60とかsleep 45とかありえんてぃ
先週のWebDriverWaitを10回くらい繰り返してるクソコードよりもひどいぞ

>>143
fast.com cliでググれ
2020/01/12(日) 03:26:40.80ID:8P2rssJG
次のプロジェクトを何の言語でやるか、検討した結果PHP派とPython派に分かれた。
Rubyはみんな嫌がった。
162デフォルトの名無しさん
垢版 |
2020/01/12(日) 03:27:02.71ID:aGAZplX2
>>143
ありがとうございます。
Python通ってないので参考になります。

>>159

>>160
cliあったんですね!
Macのcrontabだとスリープ時に実行できないので
サーバー化してるRaspberryでcrontab回そうと思います。
助かりました。
ありがとうございます。
2020/01/12(日) 10:35:42.78ID:eDYJZWaK
データフレームで
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’)
2020/01/12(日) 12:31:28.08ID:eDYJZWaK
>>164
ありがとうございます。
Pandasのスライスの表記難しい・・・。
使いこなせる自身がないんですが、やってるうちになれてくるものなのか・・・。
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

が無視されます。
なぜなんでしょう?
2020/01/12(日) 12:35:45.17ID:eDYJZWaK
>>166
失礼しました。
自分の投稿みて気づきました。
前の条件を()でくくっていなかったですね。
orz
2020/01/12(日) 13:20:04.86ID:eDYJZWaK
>>164
queryなんてあったんですね
昔accessやってたものとしてはquery使ったほうが可読性高いな。
2020/01/12(日) 13:20:54.36ID:eDYJZWaK
>>164
python的には内包表記とqueryではどちらが推奨なんでしょうか?
2020/01/12(日) 13:48:50.66ID:AzrAZmp9
python 3 で16進数文字列をutf-8文字列に変えたいんですが、簡単な方法ないですか?
2020/01/12(日) 14:24:18.86ID:M8sF3s6B
>>170

>>111と同じなのか違うのか?
違うのなら簡単な方法じゃなくめんどくさい方法でどうやってるのかをまず書いて
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'))
174デフォルトの名無しさん
垢版 |
2020/01/12(日) 20:02:34.80ID:7XI25yF1
>>172
ワロタ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分近く待たないと、速度が安定しない
176デフォルトの名無しさん
垢版 |
2020/01/12(日) 20:56:59.94ID:UO120eKA
お金を計算するわけでもないのですが
小数点の計算に全部decimalつけるの面倒なんですけど
何とかならないですか?
2020/01/12(日) 21:09:49.97ID:M8sF3s6B
>>175
「0 が取得されてしまう!」じゃねーよ
もうちょっと頭つかってくれ

速度が安定するまで待ちたいなら
「wait until 速度が安定?」みたいなコードを書けばいいだけだろ

測定完了を示す状態変化があるのに
わざわざ速度が安定したかどうかで判定する必要もないんだけどさ
178159
垢版 |
2020/01/12(日) 21:32:01.79ID:PW2KE/yt
他人のサイトをデバッグ・解析して、測定完了を示す状態を見つけるとか、それは大変!

仕様書もないのに、できない。
そういう解析を仕事としては色々やってきたけど、面倒
2020/01/12(日) 21:59:15.48ID:LmjMg5d7
rubyくん
ID変え忘れてるよ
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後、コミット
2020/01/12(日) 23:44:09.77ID:8exfRg1S
少なくともSELECT文はfor文で回す必要がないように見える
ウィンドウ関数とか使って、1回のSELECT文けで、その後のUPDATE文の条件として使いたいscoreListAve, date, nameを抽出出来るはず
182180
垢版 |
2020/01/12(日) 23:53:05.86ID:aXgbqZV+
>181
ウインドウ関数を知らないので調べてみます。
ありがとうございます。
2020/01/13(月) 01:51:12.33ID:6QaMEdT1
where の条件に、日付・名前があって、
それらに索引インデックスが付いていないのなら、絞り込めず、全探索になるから!

例えば、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分くらいかかります。
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;
2020/01/13(月) 04:59:38.72ID:nfiKoGl1
相関サブクエリのほうはブロックされたからここに貼っとく
https://ideone.com/73jaTZ
187180
垢版 |
2020/01/13(月) 05:49:10.94ID:wBE7Qmaa
>185
大変ありがとうございます。
歯抜け有りなので相関サブクエリの方をまず試してみます。
ここまで見本のコードを書いていただければ自分のレベルでも
なんとか取り入れられそうです。
2020/01/13(月) 09:52:19.26ID:kwqyPibM
>>187
歯抜けありでもwidow関数で書けるぞ。
相関サブクエリなんて過去の技術を使うな。
2020/01/13(月) 09:57:49.58ID:Co2mHaqk
>>180のコードでメモリが足りているならsqlをどうこうする必要はないと思うが。
2020/01/13(月) 10:30:58.73ID:BvowWoiX
1回のクエリで行けるところを、わざわざループでクエリ投げまくる意味はないでしょ
2020/01/13(月) 10:58:18.23ID:bfpXOE5X
クエリが苦手でPythoに慣れているなら意味はある
クエリは言語としては非常に特殊だからね
常用しない人にはとっつきづらい
2020/01/13(月) 10:59:15.38ID:Yl8Am7cI
SQLの書き方次第で100倍は効率良くなる事案
2020/01/13(月) 11:38:01.76ID:nlvLw0Pz
>>189
遅いから困ってるって明記されてるのにメモリーとか何言ってるんだよw

>>191
書捨てならそれでいいけどよく使うならSQLは覚えていて損はないと思うぞ
考え方に慣れればそれほど難しくないし
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()に渡せばいいのかと思ったのですが・・・
お教えいただけると助かります
2020/01/13(月) 13:19:03.45ID:S1eVQBPA
valuesで取ってから二乗して和をとってしないと行けないんじゃないの
2020/01/13(月) 13:21:21.99ID:dQZR7cFx
https://pastebin.com/dLSjsvev
このコメントアウトしているコードを実行するとエラーが出るのですが、何が悪いのでしょうか?
197デフォルトの名無しさん
垢版 |
2020/01/13(月) 13:24:28.21ID:uorRSC+x
>>194
math.sqrtはpythonの標準関数でスカラーにしか対応していない
np.sqrtにすればたぶん動く
198デフォルトの名無しさん
垢版 |
2020/01/13(月) 13:37:39.33ID:+xCO6TbN
>>196
formatなんて組み込み関数はない
199デフォルトの名無しさん
垢版 |
2020/01/13(月) 13:41:07.13ID:DXn4EK/n
Python学びたいんだけどどっから手を付けていいかわからん。

取り敢えず、クジラ本 「実践力を身につける Pythonの教科書」(4839960240)は買ってきた。
2020/01/13(月) 13:44:12.30ID:V22NtS8V
>>197
できました。
ありがとうございます。
m(._.)m
201デフォルトの名無しさん
垢版 |
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

よろしくお願いします。
202デフォルトの名無しさん
垢版 |
2020/01/13(月) 14:16:44.85ID:6kghygIo
>>201
「WebSite_List」って名前のファイルが参照場所にない。
探せ。
あと拡張子とかついちゃってて名前がかわってないかもチェック。
2020/01/13(月) 15:42:49.08ID:V22NtS8V
2Dカードゲームでユーザの行動特性を調査する
研究用アプリを開発しようと思ってます

開発環境をPygameにするか、Unityにするかで悩み中

Unityのほうが色々ゲーム用の機能揃ってて見栄えの良いUI作れそうなんだけど、
ユーザの行動データを数値解析したり、将来的には機械学習も取り入れようかと思ってるので、
その点ではPythonのほうが親和性高そう

どちらが、おすすめとかありますか?
2020/01/13(月) 15:43:53.12ID:V22NtS8V
ちなみにUnity、c#のほうが少しは得意
Pythonは最近sklearnとか使い始めたくらいの超初心者です
205デフォルトの名無しさん
垢版 |
2020/01/13(月) 15:51:01.10ID:tF3chcAw
それは

※ただし、選択できるプログラミング言語は一つだけとする

というような縛りプレイルールが暗黙的に存在すると考えていいのかしら?
でなかったら俺はゲームを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
それ親和性優先してねーじゃん
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:IO5oYjrW
>>202
ありがとうございます。自分で見る限りは異常ないと思うのですが・・・
IDLEでRunModuleできるのにコマンドプロンプトでエラーがでるってことありますか?
212デフォルトの名無しさん
垢版 |
2020/01/13(月) 17:03:03.66ID:6kghygIo
>>211
コマンドプロンプトのカレントディレクトリがIDLEのカレントディレクトリと違ってるんだろ
2020/01/13(月) 17:15:24.55ID:nfiKoGl1
>>203
それ前も聞いてたけど公開して広くデータを取得する可能性考えたらJavaScript一択だと思うぞ

それにカードゲームというのがいわゆるソシャゲ系で
アクションや派手なエフェクトを多用するやつならともかく
トランプ系の動きの少ないやつならHTML/CSS使ったほうがはるかに簡単

研究室にテスター呼んでやってもらうだけなら
自分が作りやすさだけ考えればいいんだろうけど
その場合でもデータ連携で十分なんだから
得意分野の違う言語を無理やり一つにする意味あんまりない
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
2020/01/13(月) 18:01:34.92ID:V22NtS8V
>>213
ごめんなさい
今やってることの次の研究なので、定期的に頭の中に湧いてくるみたいです。

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文は」と言われたのでしょう。

ウインドウ関数、コンポジットインデックスも教えてくださりありがとうございます。
また試してみます。
2020/01/13(月) 19:42:53.29ID:Yl8Am7cI
>>216
出来ると思うんだが、内容がすでにPythonから離れているので
データベース板のSQL質疑応答スレで聞いてみると良いかも
218180
垢版 |
2020/01/13(月) 20:25:11.89ID:wBE7Qmaa
>217
たしかに!
意識できていなかったのですが、ちょっとスレ違いでした。すみません。

みなさんクエリがなんとかとか言って争ってる?ので
5ちゃんねるは教えてくれる人々がいつもなんか争ってるなぁとw
2020/01/13(月) 20:49:48.38ID:6kghygIo
>>218
DBへのクエリの出し方はジッサイトテモダイジだ。
おなじことをしたいときでも
書き順によって
30分かかったり
2分くらいで終わったりだ。
イイネ?
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が整理されてないと選びようがない
221デフォルトの名無しさん
垢版 |
2020/01/13(月) 21:25:54.08ID:nwry0R0l
大袈裟だな。
222デフォルトの名無しさん
垢版 |
2020/01/13(月) 21:52:26.47ID:FBCsPnZa
北海道のグラサンスーパーハゲザーはここにはこないのー?
2020/01/13(月) 22:10:39.12ID:P1+rByUv
>>211
WebSite_Listの読み込みやってるあたりで外部ファイル参照してない?
ファイル読み込みしてたら、ファイル名をフルパスにするか、 import osして
os.path.dirname(os.path.abspath(__file__)) + '/'+filenameにしてみたら(実行ファイルと同ディレクトリの場合)?
2020/01/13(月) 22:12:13.05ID:BvowWoiX
pathlibつかえ
2020/01/14(火) 10:02:51.83ID:RNgj0nXq
>>198 何言ってんだ、あるぞ
2020/01/14(火) 10:44:24.13ID:sNEc9p7V
>>215
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/
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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