[表示 : 全て 最新50 1-99 101- 201- 2ch.scのread.cgiへ]
Update time : 01/15 21:48 / Filesize : 72 KB / Number-of Response : 247
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2020/01/02(木) 15:56:54.08 ID:ZUrZA+uS.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(超初心者用) その45【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1571188632/

2 名前:デフォルトの名無しさん [2020/01/02(木) 15:59:02.97 ID:ZUrZA+uS.net]
>>> 0 ** 0
1

>>> 0 / 0
ZeroDivisionError: division by zero

3 名前:デフォルトの名無しさん [2020/01/02(木) 16:02:30.65 ID:ZUrZA+uS.net]
関連スレ

Pythonのお勉強 Part62
https://mevius.5ch.net/test/read.cgi/tech/1568531160/

4 名前:デフォルトの名無しさん [2020/01/02(木) 16:22:20.85 ID:T0zeprk/.net]
>>2

https://ja.wikipedia.org/wiki/0%E3%81%AE0%E4%B9%97

5 名前:デフォルトの名無しさん [2020/01/02(木) 16:36:42.09 ID:yYKIO5sw.net]
北海道のグラサンスーパーハゲザーはここにはこないのー?

6 名前:デフォルトの名無しさん [2020/01/02(木) 16:38:32.31 ID:NYIo0K4b.net]
久しぶりに貼っとくか
日本語の扱いで戸惑ったらこちらをどうぞ
ttp://speirs.blog17.えふしー2.com/blog-えんとり-4.html
ttp://atomic.jpn.ph/prog/etc/encode.html
ttp://d.はてna.ne.jp/kakurasan/20100330/p1

PythonのUnicodeEncodeErrorを知る
ttp://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html

7 名前:デフォルトの名無しさん mailto:sage [2020/01/03(金) 17:34:21.06 ID:o2JYS5/T.net]
スマートに長さが決まってる配列に交互に数値をいれていくにはどうしたら良いですか?
自分でつくるとどうも長くなってしまいます
t=5
v=[]

for i in enumerate():
if i==t:
break
elif i%2==0:
v.append(1)
elif i%2==1:
v.append(4)

けっか
[1,4,1,4,1]

8 名前:デフォルトの名無しさん [2020/01/03(金) 17:46:09.32 ID:9yXh1BHh.net]
np.array([1,4]*3).flatten()[:5]

9 名前:デフォルトの名無しさん [2020/01/03(金) 17:47:21.41 ID:9yXh1BHh.net]
([1,4]*3)[:5]
でいけた

10 名前:デフォルトの名無しさん mailto:sage [2020/01/03(金) 18:52:28.14 ID:b0yxo6PI.net]
>>9
ありごとうございます



11 名前:7 mailto:sage [2020/01/03(金) 20:12:56.57 ID:o2JYS5/T.net]
>>9
一行だけとは超スマートです!!
ありがとうございます!!

12 名前:デフォルトの名無しさん [2020/01/03(金) 20:34:33.45 ID:JUB4cBO3.net]
>>7
ある言語では
v =: 5 $ 1 4

13 名前:デフォルトの名無しさん [2020/01/03(金) 20:38:57.19 ID:EoKPJcjT.net]


14 名前:デフォルトの名無しさん [2020/01/03(金) 20:42:39.36 ID:1QSwQP8U.net]
ツッコミ待ちか

15 名前:デフォルトの名無しさん mailto:sage [2020/01/03(金) 21:47:45.01 ID:cSDCrnP1.net]
>>7
from itertools import islice, cycle
def take(n, iterable):
____return list(islice(iterable, 0, n))

take(5, cycle([1,4]))

16 名前:デフォルトの名無しさん mailto:sage [2020/01/03(金) 22:08:54.32 ID:3PIY9GXm.net]
pyinstallerがインストールできません。

17 名前:デフォルトの名無しさん mailto:sage [2020/01/03(金) 22:10:03.64 ID:3PIY9GXm.net]
コマンドプロンプトを起動
pipでPyInstallerをインストール
$ pip install pyinstaller

って書いてあるけど、windowsのコマンドプロンプトっていうことでしょうか?
やってみたけどエラーが出てインストールできません。

18 名前:デフォルトの名無しさん [2020/01/03(金) 22:19:34.01 ID:3C9uWk1w.net]
>>17
エラーの内容をそのままでいいので貼り付けてください

19 名前:デフォルトの名無しさん [2020/01/03(金) 22:27:22.75 ID:3C9uWk1w.net]
win10, Python3.7では
pip install pyinstallerでエラーはでなかったです

20 名前:デフォルトの名無しさん mailto:sage [2020/01/03(金) 22:42:46.43 ID:3PIY9GXm.net]
すいません。

C:\WINDOWS\system32>pip install pyinstaller
'pip' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

というメッセージが出ています。



21 名前:デフォルトの名無しさん [2020/01/03(金) 23:04:32.83 ID:3C9uWk1w.net]
>>20
%PATH%にpip.exeの場所を追加できればとりあえずは解決できると思います

22 名前:デフォルトの名無しさん mailto:sage [2020/01/03(金) 23:27:59.92 ID:3PIY9GXm.net]
>>21
ファイルのある場所にパスを通すということでしょうか?
調べてみたのですが、やり方がよく分からずすいません。

23 名前:デフォルトの名無しさん mailto:sage [2020/01/03(金) 23:29:36.06 ID:CE0ocwaC.net]
「Windows10 環境変数」でググれ

24 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 00:00:59.89 ID:8qieO/zq.net]
>>22
もう一度インストーラーを起動して、
関連付けのチェックを入れればいい

25 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 01:33:24.48 ID:H/phePoP.net]
キーボードの左下にあるWindowsキー(窓が刻印されたキー)と右上にあるPauseキーを同時に押す
左側の「システム詳細設定」をクリック
下のほうにある「環境変数(N)...」をクリック
「〜のユーザー環境変数」にある「PATH」をダブルクリック
「環境変数名の編集」画面がでるので右上の「新規(N)」をクリック
コマンドプロンプトでwhereコマンドでpipコマンドがある場所を調べて追加(例:C:\Users\xxx\xxx\>where pip)
refreshenvコマンドを実行(例:C:\Users\xxx\xxx\>refreshenv)
>pip --version


Windows 10でPath環境変数を設定/編集する
https://www.atmarkit.co.jp/ait/articles/1805/11/news035.html
Cコンパイラのパスを環境変数に登録する
https://www.youtube.com/watch?v=MQLQHGT-imM
Python 環境変数設定
https://www.youtube.com/watch?v=Mw-eymuD6o0

26 名前:その他 mailto:sage [2020/01/04(土) 01:43:48.94 ID:H/phePoP.net]
PC をバックアップおよび復元する
https://support.microsoft.com/ja-jp/help/17127/windows-back-up-restore
コマンドでWindowsアプリを楽々管理「Chocolatey」
https://www.atmarkit.co.jp/ait/articles/1806/22/news026.html
Qiita > chocolatey
https://qiita.com/tags/chocolatey

27 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 02:20:50.51 ID:H/phePoP.net]
プログラム技術(tech)板の過去ログ検索
https://www.google.it/search?hl=jp&q=site:2ch.net/test/read.cgi/tech/+検索語句
https://www.google.it/search?hl=jp&q=site:5ch.net/test/read.cgi/tech/+検索語句

https://duckduckgo.com/bang
https://duckduckgo.com/bang_lite.html
https://duckduckgo.com/bang?c=Tech&sc=Languages+(Python)
!so python
!hatebu python
!hn python
!infoq python
!qiita python
!quora python
!amjp python
!tw python
!hashtag python
!5ch python
!r python
!slideshare python
!stackshare python
!rstc python
rosettacode.org/wiki/Category:Programming_Languages

28 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 02:24:14.73 ID:H/phePoP.net]
https://duckduckgo.com/bang?q=google
!yt python
!papers python
!gn python
!gnuk python
!gnnl Guido van Rossum

29 名前:デフォルトの名無しさん [2020/01/04(土) 05:58:50.34 ID:UVp63hNq.net]
>>7
[4 ** (x % 2) for x in range(5)]

30 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 09:09:49.45 ID:FBAmMQ8N.net]
zip関数って無かったっけ?



31 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 09:24:51.99 ID:B5eyFP88.net]
>>7
[[1, 4][x % 2] for x in range(5)]

32 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 10:35:07.19 ID:d9ICAhD8.net]
>>29が今のとこ一番分かりやすい

33 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 10:54:36.43 ID:GvN9lrG0.net]
windows のコマンドプロンプトで python を動かすのは
あまりお勧めできないけどな
苦労が多すぎて、得るものが少ない

34 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 11:41:40.61 ID:hpecUN4N.net]
そのココロは?
- windowsでpythonやるならコマンドプロンプトよりも××
- windowsでやるならpythonよりも××
- pythonやるならwindowsよりもlinux

35 名前:デフォルトの名無しさん [2020/01/04(土) 13:00:02.96 ID:trUJS7QS.net]
>>30
ちょっとひねらないと嬉しい結果にならんな
>>> list(zip([1,1,1],[4,4,4]))
[(1, 4), (1, 4), (1, 4)]

36 名前:デフォルトの名無しさん [2020/01/04(土) 13:10:53.70 ID:trUJS7QS.net]
>>33-34
横からだが
WSL使ってる人 → そのままWSLで
WSL使ってない人 → git for windows 入れてそれと一緒に入る git bash お薦め

37 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 13:20:22.82 ID:xFWRGYjR.net]
>>35
>>> from functools import reduce
>>> from operator import add
>>> reduce(add, zip([1,1,1],[4,4,4]))[:5]
(1, 4, 1, 4, 1)

38 名前:デフォルトの名無しさん [2020/01/04(土) 13:31:07.19 ID:trUJS7QS.net]
>>33 >>36
tdm-gcc (x64) 入れると
MinGW Command Prompt っていうのが付いてくるのでそっち使ってる

39 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 13:57:37.93 ID:hpecUN4N.net]
自分の場合、ふだんnodeとかはgit bashで使ってるけどpythonだけはコマンドプロンプト使ってた。
venv使ってるのとエクスプローラからパスをdrag&dropする使い方が多いんで。
コマンドプロンプト自体がお勧めできないというのは置いておいて、特にpython使うのに
向いていないとは感じないがな。

40 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 18:21:36.62 ID:k4tVVk2l.net]
どうしてcmdがおすすめできない訳?



41 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 20:01:48.09 ID:Q3FXXgpV.net]
10年位前のpython2.7の頃に比べれば windows10 python3.8はものすごく使い
やすくなっている

42 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 20:03:30.69 ID:Q3FXXgpV.net]
wsl出てからpythonはwslだったけど、個人的にちょっと開発するなら
windows10で十分

43 名前:デフォルトの名無しさん [2020/01/05(日) 00:25:24.67 ID:cNQ0xZ86.net]
forの中のif 文がよく似てる感じなのですが
まとめれないでしょうか?
階層が深くて分かりにくくなってしまいました

*マークは字下げです

plane_angle = []
for i , h in enumerate(ho):
****if i >= len(ho) - 1:
********if ho[0].dot(ho[i])<-1:
************ang=0
********else:
************ang=acos(ho[0].dot(ho[i]))
************if ho[i].cross(ho[0]).z<0:
****************ang=pi+ang
************else:
****************ang=pi-ang
****else:
********if ho[i+1].dot(ho[i])<-1:
************ang = 0
********else:
************ang = acos(ho[i+1].dot(ho[i]))
************if ho[i].cross(ho[i+1]).z<0:
****************ang = pi + ang
************else:
****************ang = pi-ang
****plane_angle.append(ang)

44 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 00:52:34.25 ID:NzdiaSgk.net]
>>43
hoが何でどういう風にデータが入ってるのか教えてくれ

45 名前:デフォルトの名無しさん [2020/01/05(日) 01:10:24.54 ID:cNQ0xZ86.net]
>>44
hoはx,y,z座標を
normalize()させた値が複数個入ってます
こんな感じです
入ってる数と座標はその時によって違います
[Vector((0.9713584184646606, -0.23761920630931854, 0.0)), Vector((0.2879558205604553, 0.9576436281204224, 0.0)), Vector((-0.8237842321395874, 0.0, 0.5669034123420715)), Vector((-0.9037604331970215, -0.36954042315483093, -0.21600256860256195))]

46 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 01:19:33.03 ID:MK0cWPLh.net]
超初心者です。Pythonのscrapyについて教えていただきたいです。
一つのspiderを作って、crawlすることはできたのですが、
(scrapy crawl xxxxx -o sample_data.csv)
yyyyy.pyとzzzzz.pyというspiderを同じディレクトリに作成し、
(x,y,zは別ドメイン別サイトで同じような情報が掲載されている。
 もちろん構造が違うためxpathはサイトごとに違う。)
連続で実行する方法があったら知りたいです。

ググったのですが、scrapyでそういうことができるかどうか、
わからなかったので、質問させていただきました。
spiderの.pyのみx,y,zと複数作って管理保守を楽にしたいです。

xxxxx.pyに複数のclassを書いて、上から順に実行していくという方法に
なるのでしょうか。

わかりづらくて申し訳ないです。ご教示よろしくお願いいたします。

47 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 01:32:31.46 ID:BPHXVrhY.net]
Ruby なら、`〜` でコマンドを実行できる

`コマンド 1`
`コマンド 2`
`コマンド 3`

scrapy はコマンド名か?
それなら、下のようにできる

`scrapy 〜`
`scrapy 〜`
`scrapy 〜`

コマンドを呼ぶぐらいなら、Ruby以外にも、シェルスクリプト・PowerShell でも出来る

48 名前:27 mailto:sage [2020/01/05(日) 02:09:21.37 ID:k//yuqW0.net]
!hackster python
https://www.twitter.com/hacksterio
https://www.youtube.com/hacksterio
https://www.hackster.io/channels/topics

Python on Hardware
Power your homes and bots with Python!
https://www.hackster.io/python-on-hardware/projects
(deleted an unsolicited ad)

49 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 03:43:21.88 ID:y+bEWN5I.net]
>>43
要は2つの隣接する単位ベクトルho[i]とho[i+1]の演算を行いたいが、iが末尾の時はi+1の代わりに0番目を使いたいということか?
それならまずi+1または0を変数jに入れて、ho[i]とho[j]の処理だけを書けば良さそう。

50 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 04:26:51.43 ID:NzdiaSgk.net]
>>43
def foo(v1, v2):
____if v1.cross(v2).z < 0:
________return pi + acos(v2.dot(v1))
____else:
________return pi - acos(v2.dot(v1))

plane_angle = [0 if v2.dot(v1) < -1 else foo(v1, v2) for v1, v2 in zip(ho, ho[1:] + ho[:1])]



51 名前:43 mailto:sage [2020/01/05(日) 12:09:19.59 ID:cNQ0xZ86.net]
>>50
びっくりするほど短くなるんですね
ありがとうございます
助かりました

52 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 12:25:51.05 ID:Q3EjVbhD.net]
>>51
そもそも命名規則とか意識した方がいい
自分でコード読めなくなるぞ

53 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 13:21:59.71 ID:t/h3kgdg.net]
df = pd.read_csv(file)
print(df.query('class > 1'))

例外が発生しました: SyntaxError
Python keyword not valid identifier in numexpr query (<unknown>, line 1)
File "L:\c#\プロジェクト再開\UnsRehaPlanR21\UnsReha\bin\Debug\setData.py", line 27, in <module>
print(df.query('class > 1'))

これなにが間違ってるのでしょう?

54 名前:デフォルトの名無しさん [2020/01/05(日) 13:22:23.53 ID:qO+R3XJX.net]
長さが違うものでもzipできるの?

55 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 14:57:09.36 ID:NzdiaSgk.net]
>>53
>Python keyword not valid identifier in numexpr query
Pythonのキーワードはnumexprクエリにおいて有効な識別子ではありません

“class”はPythonのキーワード

56 名前:43 mailto:sage [2020/01/05(日) 15:49:37.35 ID:cNQ0xZ86.net]
>>52
はい、命名規則つけるようにします。
ほとんど後でメンテナンス不可能になって投げ捨てる事になってしまうので
ちゃんとやることにします

57 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 22:53:56.79 ID:t/h3kgdg.net]
>>55
あああ〜、、、
ありがとうございます。

結構悩んだんだけど、予約語でしたか、、、

58 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 23:08:33.53 ID:CBy/ZWII.net]
seleniumのwebdriverwaitが100%タイムアウト返してくるんですけど、これ考えられる原因あります?
waitの時間伸ばすしか対策ないんでしょうか?

59 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 23:58:22.41 ID:NzdiaSgk.net]
>>58
ImplicitWaitしてて
検索条件が間違ってる可能性がある

デバッガでブレイクポイント設定してステップ実行で試せば
本当にタイムアウトしてるのか条件が間違ってるのか切り分けられる

60 名前:デフォルトの名無しさん mailto:sage [2020/01/06(月) 00:08:19.56 ID:VrovJO3c.net]
>>59
具体的には
https://colab.research.google.com/drive/1wT6ZpKLNr24R5qEfH-0jotifhBVrfA9S
の57行目でタイムアウト返ってくるんですよね…
この場合だとec.element_to_be_clickableの中身が間違ってるんでしょうか…



61 名前:デフォルトの名無しさん mailto:sage [2020/01/06(月) 00:28:29.42 ID:zQo0hVCB.net]
データフレームに含まれるNoneデータの個数を数えようとしています

df_bool = (df_combine == None)               @
number_of_outliers = df_bool.sum()             A

でいけるかと思ったんですが、dfにNoneデータに対して@はFalseの判定でした。
どうやって数えればいいんでしょうか?

62 名前:デフォルトの名無しさん mailto:sage [2020/01/06(月) 01:16:53 ID:78RinjQr.net]
>>60
エラーが返される57行目の前に
Python3.7以降ならbreakpoint()と書けばブレイクポイントが設定されて
標準のデバッガが起動されるのでnとかsでステップ実行したり任意のコードを実行したりできる
IPythonのデバッガを使いたければimport ipdbして
ブレイクポイント設定したいところでipdb.set_trace(context=10)

人の書いたコードを丸っとコピペするのは別にいいけど
間違ってるかどうかを自分で確かめられないようなら潔く使うのは諦めたほうがいい

63 名前:デフォルトの名無しさん mailto:sage [2020/01/06(月) 01:17:07 ID:78RinjQr.net]
>>61
df.isna().sum()

64 名前:デフォルトの名無しさん mailto:sage [2020/01/06(月) 10:06:33.60 ID:bAE45PWZ.net]
>>63
ありがとう。助かりました。

65 名前:デフォルトの名無しさん mailto:sage [2020/01/06(月) 23:59:51.35 ID:VrovJO3c.net]
すいません…結局わかりませんでした…
とりあえずelement_to_be_clickableの中身でエラー起こしてるみたいですが…
構文は間違ってないですし、IDの名前も間違ってないんですよね…

66 名前:デフォルトの名無しさん [2020/01/07(火) 00:20:44.83 ID:ueOqy5pf.net]
>>60
# ランタイムクリック
select_dropdown = WebDriverWait(self.driver, 20).until(EC.element_to_be_clickable((By.ID,"runtime-menu-button")))

runtime-menu-button のid が存在するかどうか、ブラウザのF12 開発者ツールで確認すれば?
存在しなければ、wait time を、20 秒から、200秒ぐらいにすれば?

67 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 00:29:10.58 ID:PWzkvPR1.net]
>>66
runtime-menu-buttonが存在するところは確認済です
一応昨日180秒でやりましたが結果は変わりませんでした

68 名前:66 mailto:sage [2020/01/07(火) 02:08:13.14 ID:ueOqy5pf.net]
600 〜 1,800秒で、やってみれば?

自分が待てる限界時間まで、やってみれば?

69 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 02:39:18.92 ID:sZs6mHzs.net]
俺も以前開発ツールで見えているのにクリック出来なくてドハマりした
一度そのエレメントが見えるところまでまでスクロールすればイケルと思う
理由は分からないw

面倒だから全スクロール
execute_script("window.scrollTo(0, document.body.scrollHeight);")

70 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 03:04:54 ID:sMehhi+2.net]
headlessじゃなくブラウザを画面表示してデバッガでステップ実行すれば
本当にタイムアウト時間内に要素が求める状態になってないのか
それとも求める状態になってるにもかかわらず取得できないのか一発で分かるやろ

後者ならステップ実行時にto_be_clickableじゃなく
単にfindで要素取得できるかどうかとか
取得できるならそれをclick()できるかどうかとか
正攻法で切り分けしていけばいい



71 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 07:30:53.46 ID:Thq5It+S.net]
他の要素の下になってクリックできないってこともある。

72 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 07:48:08.12 ID:gM3QDlRr.net]
見えてすら無いに一票

73 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 11:17:44 ID:DsG2B72o.net]
pandasのread_excelでシート読むときに、セル内の関数を読み書きするのはどうしたらいいんでしょうか
具体的には=いまセルにtext(today()+1,"mmdd")が入ってて、read_excelすると1008が取得中できるのですが
today()+nと操作したいです

74 名前:デフォルトの名無しさん [2020/01/07(火) 12:42:25.03 ID:j68rdTp2.net]
もちろんできないのであきらめる

75 名前:デフォルトの名無しさん [2020/01/07(火) 12:54:01.36 ID:j68rdTp2.net]
OpenPyXLなら式操作できるかな
xlrdでもいいのかも知れないが
"Please use openpyxl where you can..."
なんてわざわざ書いてあるライブラリ使わんでもえやろ

76 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 14:39:25.87 ID:sMehhi+2.net]
>>73
1. xlwingsやCOM使ってExcelを開いて再計算させてからpandas使う
2. Excelの計算式は捨ててpython側で計算式を定義する
3. openpyxlで計算式をパースしてpythonで計算し直す (茨の道)

77 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 15:07:43.76 ID:YTm5sjhC.net]
seabornでlmplot使っているのですが、DFのラベルでlatency(msec)や[msec]として単位をグラフの軸ラベルを記載しようとするとエラーになります。

78 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 15:09:01.88 ID:YTm5sjhC.net]
多分[]や()が予約後だからかとおもいますが、DFのラベル名に単位を記載しようとするときはどのようにするべきなのでしょうか?

79 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 16:20:37.06 ID:sMehhi+2.net]
>>77
角括弧や括弧があってもクウォートして文字列として扱われてれば問題無いはずなので
エラー内容とそのエラーが再現する最小限のコードを公開したほうがいい

80 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 19:12:15.21 ID:cN6CR2jQ.net]
latency_msec
1700
0
0
0
0
0
0
0
0

for i, latency in enumerate(df['latency_msec']):
print(i, latency)



81 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 19:13:26.51 ID:cN6CR2jQ.net]
結果
0 1700
1 0
2 0
3 0
4 0
0 0
1 0
2 0
3 0

なんでインデックスが4まで行くと0になってしまうのでしょう?
アホみたいですが、教えて下さい。

82 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 19:22:14.99 ID:cN6CR2jQ.net]
>>81
すいません。
自己解決しました。
関数の呼び出し先の問題でした。
疲れ切ってます。 org

83 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 19:50:51.58 ID:cN6CR2jQ.net]
連投すいません

x latency_msec
1 1700
2 1701
3 1702
4 1703
5 1704
6 1705
7 1706
8 1707
9 1708

df = input_data()
print(df.iloc[1][1])

とすると

ValueError: Can only index by location with a [integer, integer slice (START point is INCLUDED, END point is EXCLUDED), listlike of integers, boolean array]

となります。
なぜでしょう・・・。

Pandasよくわからない・・・。

84 名前:デフォルトの名無しさん [2020/01/07(火) 19:55:20.61 ID:Bxvs3Isv.net]
df.iloc[1,1]

85 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 20:03:44.84 ID:cN6CR2jQ.net]
>>83
すいません。
無視してください、また変なこと聞きました。
もう無理だ・・・寝ます・・・。

86 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 22:05:07 ID:cN6CR2jQ.net]
q75, q25 = np.percentile(col, [75 ,25])

colが整数だけのときは正しい値が入るのですが、colに少数が入ると0.0になってしまいます
np.percentileって少数には使えないのでしょうか?

87 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 22:19:19 ID:sMehhi+2.net]
>>86
a = np.array([[10.4, 7.8, 4.5], [3, 2, 1]])
np.percentile(a, [72,25])
#=> array([6.48, 2.25])

問題なさそうだけど?

88 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 23:10:02 ID:cN6CR2jQ.net]
>>87
あれ、本当ですね
ここが原因と思ってたら何が原因か分からなくなってきた

89 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 23:17:56 ID:cN6CR2jQ.net]
四分位範囲で外れ値の値だったばあいフラグを立てる関数を作ったのですが、
なぜかデータが整数では正常動作するのに、少数が含まれているとフラグで1を立てても0になります。
かれこれ数時間悪戦苦闘しているのですが、原因わからず・・・。
どこかにコードを書き込んで質問できればいいのですが、そのような掲示板ありませんでしょうか?
本当に初心者ですいません。

90 名前:デフォルトの名無しさん [2020/01/07(火) 23:30:09.50 ID:Es2WAZts.net]
つideone



91 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 23:55:26.90 ID:cN6CR2jQ.net]
>>90
ありがとうございます。

92 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 23:57:52.11 ID:cN6CR2jQ.net]
https://ideone.com/Fl1R9z

40行目の

df.iloc[i][output_column] = 1

が怪しいとおもうのですが、取り込んだdfが整数だけのときは1が書き込めているのですが、
dfに小数が含まれているときは書き込めていないようです。
なぜなのでしょう・・・・・。

93 名前:デフォルトの名無しさん mailto:sage [2020/01/08(水) 12:53:13.99 ID:U2S7mQMy.net]
>>92
↓この警告出てるよね? リンク先みて警告を消そう
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy

とりあえず df.loc[i, output_column] = 1 にすれば動くけど
普通はenumerateとかせずにapply使う場面だと思う
df[output_column] = df[chk_column].apply(is_outlier)

94 名前:デフォルトの名無しさん [2020/01/08(水) 17:08:03.84 ID:Sre2vN3k.net]
df['price_edited'] = df['price'].apply(lambda a: int(a[1:]) if a.startswith('$') else 0)

95 名前:デフォルトの名無しさん mailto:sage [2020/01/08(水) 18:24:29.64 ID:xdUcjCBz.net]
>>67
クリックできるようになるまで待つのをやめて、ボタンが現れるのに十分と思われる時間待った後で普通にクリックしてみる。
そうするとなんでクリックできないのか分かるかもしれない。

96 名前:デフォルトの名無しさん mailto:sage [2020/01/08(水) 19:32:52.69 ID:j91Gwtaz.net]
map, filter, reduceとか色々あるけど、pythonでこの辺って使う機会ある?

97 名前:デフォルトの名無しさん mailto:sage [2020/01/08(水) 19:59:10.33 ID:NG22H+Rz.net]
ほとんどない
リスト内包表記の方が可読性高いし、複雑な処理にはどうせpandasとか使うし

98 名前:デフォルトの名無しさん mailto:sage [2020/01/08(水) 20:02:38.71 ID:cyxQSndQ.net]
pythonに限らずどの言語でも用意されてるがどの言語でも使わない

99 名前:デフォルトの名無しさん mailto:sage [2020/01/08(水) 20:06:21.39 ID:HaPwADKT.net]
mapは、リスト中の数字と数値を数字に統一して、ソートできるように再マッピングするときに使うことはある

100 名前:デフォルトの名無しさん [2020/01/08(水) 20:07:25.06 ID:cBWLj0dO.net]
>>98
じゃあどうするの?
for文?



101 名前:デフォルトの名無しさん mailto:sage [2020/01/08(水) 20:10:23.35 ID:v4o4ZY0H.net]
>>96
mapは内包表記を使うほどでもないとき
競技プログラミングとかで入力を全部int型のリストに置き換えるときとかに使うぞ

a,b,c = map(int,input().split())って感じで

102 名前:デフォルトの名無しさん mailto:sage [2020/01/08(水) 20:28:49.09 ID:w1X5ZQ1+.net]
なるほどlambda書かなくていいケースなら短いんだな

103 名前:デフォルトの名無しさん [2020/01/08(水) 20:31:21.99 ID:rc02anx7.net]
競プロで使うといえば、sys.stdinとcollections.dequeも

104 名前:デフォルトの名無しさん mailto:sage [2020/01/08(水) 21:13:48.14 ID:U2S7mQMy.net]
>>96
個人用のコードの場合はcurryやpipeと合わせてそこそこ使うけど
他人が読み書きするコードの場合は基本的に内包表記に揃えてる

他の言語と違ってpythonの場合は
そのままだと処理つなげないからmap/filter/reduceだと簡潔に書けない

105 名前:デフォルトの名無しさん [2020/01/08(水) 21:16:10.78 ID:cBWLj0dO.net]
>>98
ねえねえ

106 名前:デフォルトの名無しさん [2020/01/08(水) 21:23:57.62 ID:rc02anx7.net]
むしろ、内包表記の方が使わんわ

107 名前:デフォルトの名無しさん mailto:sage [2020/01/08(水) 21:28:12.52 ID:cyxQSndQ.net]
昔はシュワルツ変換とかあったが今のpythonじゃそんなの聞かないだろ?

108 名前:デフォルトの名無しさん mailto:sage [2020/01/08(水) 21:28:32.46 ID:j91Gwtaz.net]
>>101
mapってこれa,b,cに直で突っ込めるん?

109 名前:デフォルトの名無しさん [2020/01/08(水) 21:48:20.80 ID:rc02anx7.net]
>>108
https://ideone.com/NPueLR

https://docs.python.org/ja/3/tutorial/datastructures.html#tuples-and-sequences

110 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 09:06:17.58 ID:CHl595iH.net]
>>106
競プロのことは知らないけど、内包表記の方が基本短くならない?なにか違う理由で使わないの?



111 名前:デフォルトの名無しさん mailto:sage [2020/01/09(Thu) 10:22:53 ID:CxgUH5at.net]
バイト列に関して質問です。
文字タイプのバイト列情報の文字を、日本語に復元したいです。
例えば、
\x12\x34\x56\x78
という文字列があります。
これを
あいう
のような意味のわかる日本語にしたいです。
その場合、
print(b'\x12\x34\x56\x78'.decode('cp932'))
で復元できます。
そこで、復元したい文字列は複数あるので、
\x12\x34\x56\x78 を変数に代入してから、
for文で復元しようとしています。
しかし、変数に代入したら b をつけられません。
どうすればバイト列にしてから復元できるのでしょうか?

112 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 10:37:07.44 ID:I9hACzJa.net]
b'\x12\x34\x56\x78'を入れちゃだめなの?

113 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 11:18:23.26 ID:nzRPJUvL.net]
データフレームのラベルにlatency[msec]と単位をいれたいのですが、

lm_model = smf.ols(formula="latency[msec]~x", data=df).fit()

とすると
latency is not define
となります。
latency_msecとするとokなのですが[]や()を使うとダメ
[]、()をラベルに使ってはいけないのでしょうか?

114 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 11:29:08.27 ID:m2IVdqCX.net]
>>112
レスありがとうございます。
変数にb'\x12\x34\x56\x78'を入れるということでしょうか?
bと文字列 \x12\x34\x56\x78 を合体させる方法が分からないんですよね・・・

115 名前:デフォルトの名無しさん [2020/01/09(木) 12:33:47.44 ID:0RBXSUPh.net]
numpy とか pandas 使うとそっちで解決しちゃう

116 名前:デフォルトの名無しさん [2020/01/09(木) 12:39:08.38 ID:j8mTnocC.net]
>>110
それ答えてもいいけど、過去何度も何度も繰り返された議論が始まるだけだぞ

117 名前:デフォルトの名無しさん [2020/01/09(木) 12:45:59.86 ID:81iybZRX.net]
>>114
s = '\x12\x34\x56\x78'
b = s.encode('latin-1')

118 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 15:59:03.66 ID:VxfXfT1S.net]
>>111
string = '¥x82¥xa0¥x82¥xa2¥x82¥xa4'
hexstr = string.encode('unicode_escape').decode('utf-8').replace('¥¥x', '')
print(bytes.fromhex(hexstr).decode('cp932'))

https://www.onlinegdb.com/ByuRArNxI

119 名前:デフォルトの名無しさん mailto:age [2020/01/09(木) 16:52:22.09 ID:OQFCwUQr.net]
l = [[1,2,3],[4,5]]

から

[1,2,3,4,5]

に変形したいのですが、リスト内包表記だけでできますか?

120 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 17:49:39.42 ID:CxgUH5at.net]
>>117
すみません、
出来ませんでした

>>118
すみません、出来ませんでした



121 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 18:04:23.16 ID:VxfXfT1S.net]
>>119
できるけどやめれ

foo = [[1,2,3],[4,5]]
[x for inner in foo for x in inner]
#=> [1, 2, 3, 4, 5]

122 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 18:05:14.78 ID:VxfXfT1S.net]
>>120
↓これ動かないの?
https://www.onlinegdb.com/ByuRArNxI

123 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 18:11:11.27 ID:CxgUH5at.net]
>>122
全部見てませんでしたすみません

そちらは動きました。
自分のでも動くか試してみます

124 名前:デフォルトの名無しさん [2020/01/09(木) 18:53:25.08 ID:KHoLcO1x.net]
>>119
sum(l,[])

125 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 19:12:34.29 ID:NaQHxKOV.net]
>>124
はえ〜シンプル
一階層だけならこれでいいな

126 名前:119 mailto:age [2020/01/09(木) 19:42:16.05 ID:DanfNow/.net]
>>121 のやり方が3次元以上でも対応できるのでいいですね。
おっさんありがとう。

127 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 19:56:28.10 ID:nuQhSBU1.net]
map, reduce, filterと来れば次はflatten
でもpython標準にはない

128 名前:デフォルトの名無しさん [2020/01/09(木) 20:03:36.46 ID:vYl+3riX.net]
>>> 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.36 ID:vYl+3riX.net]
>>> 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]
めんどい

130 名前:デフォルトの名無しさん mailto:age [2020/01/09(木) 20:41:39.72 ID:ZiyVM7wM.net]
df.query("tag.str.contains('log')")

だと、'LOG'や'Log'にマッチしないですが、queryを使った何か方法あります?



131 名前:デフォルトの名無しさん [2020/01/09(木) 20:49:32.76 ID:vYl+3riX.net]
df.query("tag.str.contains('log') or tag.str.contains('LOG') or tag.str.contains('Log')")

132 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 20:50:05.73 ID:hJpPvhWv.net]
dfにlower()を適用した行を追加する

133 名前:デフォルトの名無しさん [2020/01/09(木) 20:54:34.17 ID:vYl+3riX.net]
df.query("tag.str.contains('log', case=False)")
または
df.query("tag.str.contains('[lL][oO][gG]')")

134 名前:130 mailto:sage [2020/01/09(木) 20:59:41.18 ID:ZiyVM7wM.net]
case=Falseでいいです。
おっさんありがとう。

135 名前:デフォルトの名無しさん [2020/01/09(木) 21:05:50.10 ID:o7IUVb3B.net]
あなたのハゲにサクセスしたい

136 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 22:29:38.19 ID:rdMUJkc5.net]
散布図書いて

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

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

とfit_regを使うと凡例1、2とも回帰直線あり、なしで統一されますよね。
凡例ごとに回帰直線あり、なしを設定する方法ないでしょうか?

137 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 22:30:27.61 ID:rdMUJkc5.net]
もしくはlmplotで凡例1の回帰直線を書いて、
その後に凡例にの散布図を重ねるとかできるといいのですが・・・。

138 名前:デフォルトの名無しさん [2020/01/10(金) 08:58:33.71 ID:rEsoa4AS.net]
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.
>>>
何かご存じの方いらっしゃいませんか?

139 名前:デフォルトの名無しさん mailto:sage [2020/01/10(金) 17:45:23.17 ID:DFPKFrGt.net]
win32apiは用意されてるのかな

140 名前:デフォルトの名無しさん [2020/01/10(金) 18:01:26.41 ID:rEsoa4AS.net]
>>139
pywin32 221はインストールしてあります。
import win32api
と入力しても何も言われないので、インポートできてると思われます。



141 名前:デフォルトの名無しさん mailto:sage [2020/01/10(金) 18:33:13.96 ID:ygDjj+Gv.net]
>>138
これかもね
https://github.com/pywinauto/pywinauto/issues/868

142 名前:デフォルトの名無しさん [2020/01/10(金) 19:11:57.27 ID:rEsoa4AS.net]
>>141
python3.7.4に下げたところ、うまく動きました!!
大変助かりました。ありがとうございました!

143 名前:デフォルトの名無しさん [2020/01/11(土) 12:56:53.77 ID:+sNn4E0T.net]
Webサイトの動的なパラメータを取得し、
PythonでCSVに保存したいのですが、
requestsでのJSの動的なパラメーターの操作・取得方法が分かりません。

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


具体的には"https://fast.com/ja/"で通信速度を定期的に
測りたいです。

144 名前:デフォルトの名無しさん [2020/01/11(土) 13:14:12.97 ID:I3GzSO2X.net]
api直で叩けるならrequestsでいいけど、
普通はseleniumの出番じゃないかな。
結果表示のelementが表示されるまで待って、そのあとselectorを使って読み取る。

145 名前:デフォルトの名無しさん [2020/01/11(土) 18:57:41.73 ID:8SjMRVd0.net]
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.90 ID:l/QLWHKH.net]
wxpython-users.1045709.n5.nabble.com/Updating-a-wx-ComboBox-list-s-contents-td2347790.html

147 名前:デフォルトの名無しさん [2020/01/11(土) 19:12:33.28 ID:l/QLWHKH.net]
https://www.python-izm.com/gui/wxpython/wxpython_combobox/

148 名前:デフォルトの名無しさん [2020/01/11(土) 21:39:28.93 ID:8SjMRVd0.net]
>>146
>>147
ありがとうございます。
理解できるようがんばります。

149 名前:デフォルトの名無しさん [2020/01/11(土) 22:10:14.08 ID:mXX0vnIh.net]
全体の質問スレがなかったのでここに質問します
私はWebサービス作れたら面白いな程度に考えています。そこで質問があります。いきなりPythonで大丈夫でしょうか?基盤となる他の言語があるのでしょうか?また、Webサービスを作れるものなのでしょうか?具体例ではTwitterなど超有名なものが出されるので…

150 名前:デフォルトの名無しさん mailto:sage [2020/01/11(土) 22:18:24.21 ID:IeHCZeyd.net]
型ヒントつけまくったら速度って向上すんのかな
あくまで可読性の問題?



151 名前:デフォルトの名無しさん [2020/01/11(土) 22:20:37.40 ID:mXX0vnIh.net]
これくだすれってコードすれですかね?
でしたら上のやつ無視してくださいすみません

152 名前:デフォルトの名無しさん [2020/01/11(土) 22:31:40.00 ID:tdQ2h9sk.net]
くだすれって何なの?
意味がわからん

153 名前:デフォルトの名無しさん mailto:sage [2020/01/11(土) 22:56:40.09 ID:cnAODivo.net]
>>150
type hintは基本的に3rd partyのtype checker用なので
何もせずに速度が向上したりはしない

型をチェックして適切な実装を選択することで実行速度が変わるようなロジックを自分で作ったり
そういうライブラリを使えばhint無しよりは速度が向上する可能性はなきにしもあらず

3.7より前のバージョンはtype hintをコードの読み込み時に評価するので
評価コストの分だけtype hintがあると読み込みが遅い(らしいが、気にしたことはない)

154 名前:デフォルトの名無しさん [2020/01/11(土) 22:57:26.01 ID:/PybViq/.net]
>>149
WebサービスはWebの知識があればPythonとPythonのフレームワークで構築できます

155 名前:デフォルトの名無しさん [2020/01/11(土) 23:10:13.39 ID:mXX0vnIh.net]
>>154
ありがとうございます!Webの知識もないプログラム初心者なのでHTML・CSSを学んでから、または学びつつPythonを勉強しようと思います!

156 名前:デフォルトの名無しさん mailto:sage [2020/01/11(土) 23:16:15.67 ID:cnAODivo.net]
Webの知識にはHTML/CSSだでなく
HTTP, JavaScript(初級)/DOM, 各種ブラウザの開発ツール使い方
くらいは含まれてると思われる

サーバーサイドはパフォーマンス気にしなければPythonだけでほぼなんでもできるが
モバイルアプリやリッチなWebクライアントはPythonだけでは作れない

157 名前:デフォルトの名無しさん [2020/01/11(土) 23:22:24.84 ID:mXX0vnIh.net]
>>156
私にはまだ早い領域のようですね…
教えて下さった言語含めもうちょっと調べてみます
ありがとうございます!

158 名前:デフォルトの名無しさん mailto:sage [2020/01/11(土) 23:32:59.83 ID:IeHCZeyd.net]
>>153
やっぱそうなんだ
コンパイルしてるわけじゃないしな

159 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 01:21:03.35 ID:PW2KE/yt.net]
>>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

160 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 03:20:28.12 ID:M8sF3s6B.net]
>>159
capybara使えよ
implicit_wait=60とかsleep 45とかありえんてぃ
先週のWebDriverWaitを10回くらい繰り返してるクソコードよりもひどいぞ

>>143
fast.com cliでググれ



161 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 03:26:40.80 ID:8P2rssJG.net]
次のプロジェクトを何の言語でやるか、検討した結果PHP派とPython派に分かれた。
Rubyはみんな嫌がった。

162 名前:デフォルトの名無しさん [2020/01/12(日) 03:27:02.71 ID:aGAZplX2.net]
>>143
ありがとうございます。
Python通ってないので参考になります。

>>159

>>160
cliあったんですね!
Macのcrontabだとスリープ時に実行できないので
サーバー化してるRaspberryでcrontab回そうと思います。
助かりました。
ありがとうございます。

163 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 10:35:42.78 ID:eDYJZWaK.net]
データフレームで
target shape
1 0
0 1
1 1

としたときtarget==shapeのデータをスライスとして取り出したいのですが、
同一データフレーム内のデータを比較してスライスするにはどうすれば良いのでしょう?

164 名前:デフォルトの名無しさん [2020/01/12(日) 11:16:34.31 ID:/bwylFW9.net]
df[df[‘target’]==df[‘shape’]]
または
df.query(‘target==shape’)

165 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 12:31:28.08 ID:eDYJZWaK.net]
>>164
ありがとうございます。
Pandasのスライスの表記難しい・・・。
使いこなせる自身がないんですが、やってるうちになれてくるものなのか・・・。

166 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 12:34:18.40 ID:eDYJZWaK.net]
a=Fale, b=True
だけをスライスしたいのですが、

df_correct = df[df['a'] == False & (df['b']==True)]

とすると

a==False

の条件でスライスされ

b==True

が無視されます。
なぜなんでしょう?

167 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 12:35:45.17 ID:eDYJZWaK.net]
>>166
失礼しました。
自分の投稿みて気づきました。
前の条件を()でくくっていなかったですね。
orz

168 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 13:20:04.86 ID:eDYJZWaK.net]
>>164
queryなんてあったんですね
昔accessやってたものとしてはquery使ったほうが可読性高いな。

169 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 13:20:54.36 ID:eDYJZWaK.net]
>>164
python的には内包表記とqueryではどちらが推奨なんでしょうか?

170 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 13:48:50.66 ID:AzrAZmp9.net]
python 3 で16進数文字列をutf-8文字列に変えたいんですが、簡単な方法ないですか?



171 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 14:24:18.86 ID:M8sF3s6B.net]
>>170

>>111と同じなのか違うのか?
違うのなら簡単な方法じゃなくめんどくさい方法でどうやってるのかをまず書いて

172 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 15:47:52.03 ID:iU1LDXiT.net]
いつのまにかインデントが崩れて正常に動作しなくなってた
でも中括弧がないので元の状態が分からない
元に戻せない

173 名前:デフォルトの名無しさん [2020/01/12(日) 19:12:52.42 ID:N3Z2zUK8.net]
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.80 ID:7XI25yF1.net]
>>172
ワロタwwwwww

175 名前:159 mailto:sage [2020/01/12(日) 20:18:51.94 ID:PW2KE/yt.net]
>>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.94 ID:UO120eKA.net]
お金を計算するわけでもないのですが
小数点の計算に全部decimalつけるの面倒なんですけど
何とかならないですか?

177 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 21:09:49.97 ID:M8sF3s6B.net]
>>175
「0 が取得されてしまう!」じゃねーよ
もうちょっと頭つかってくれ

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

測定完了を示す状態変化があるのに
わざわざ速度が安定したかどうかで判定する必要もないんだけどさ

178 名前:159 mailto:sage [2020/01/12(日) 21:32:01.79 ID:PW2KE/yt.net]
他人のサイトをデバッグ・解析して、測定完了を示す状態を見つけるとか、それは大変!

仕様書もないのに、できない。
そういう解析を仕事としては色々やってきたけど、面倒

179 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 21:59:15.48 ID:LmjMg5d7.net]
rubyくん
ID変え忘れてるよ

180 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 23:01:37.62 ID:aXgbqZV+.net]
こんにちは質問させてください。

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 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 23:44:09.77 ID:8exfRg1S.net]
少なくともSELECT文はfor文で回す必要がないように見える
ウィンドウ関数とか使って、1回のSELECT文けで、その後のUPDATE文の条件として使いたいscoreListAve, date, nameを抽出出来るはず

182 名前:180 mailto:sage [2020/01/12(日) 23:53:05.86 ID:aXgbqZV+.net]
>181
ウインドウ関数を知らないので調べてみます。
ありがとうございます。

183 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 01:51:12 ID:6QaMEdT1.net]
where の条件に、日付・名前があって、
それらに索引インデックスが付いていないのなら、絞り込めず、全探索になるから!

例えば、100万レコードあれば、それらをすべて検索してから、チェックするから!

基本的には、検索条件に索引インデックスが付いていないものは、全探索になるから検索しない!

情報処理資格のデータベーススペシャリストの教科書で、
データベースの設計を勉強すべし!

184 名前:180 mailto:sage [2020/01/13(月) 02:43:19.89 ID:wBE7Qmaa.net]
>183
助言ありがとうございます。
書き忘れましたがname, dateのIndexはすでに作ってます。

cur.execute('create index dateIndex on table(date)')

Indexでだいぶましになったのですが、それでも現状、
forが100進むのに1秒くらいなので、20万レコードで30分くらいかかります。

185 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 04:48:03 ID:nfiKoGl1.net]
歯抜け無しなら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;

186 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 04:59:38 ID:nfiKoGl1.net]
相関サブクエリのほうはブロックされたからここに貼っとく
https://ideone.com/73jaTZ

187 名前:180 mailto:sage [2020/01/13(月) 05:49:10 ID:wBE7Qmaa.net]
>185
大変ありがとうございます。
歯抜け有りなので相関サブクエリの方をまず試してみます。
ここまで見本のコードを書いていただければ自分のレベルでも
なんとか取り入れられそうです。

188 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 09:52:19.26 ID:kwqyPibM.net]
>>187
歯抜けありでもwidow関数で書けるぞ。
相関サブクエリなんて過去の技術を使うな。

189 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 09:57:49.58 ID:Co2mHaqk.net]
>>180のコードでメモリが足りているならsqlをどうこうする必要はないと思うが。

190 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 10:30:58.73 ID:BvowWoiX.net]
1回のクエリで行けるところを、わざわざループでクエリ投げまくる意味はないでしょ



191 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 10:58:18.23 ID:bfpXOE5X.net]
クエリが苦手でPythoに慣れているなら意味はある
クエリは言語としては非常に特殊だからね
常用しない人にはとっつきづらい

192 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 10:59:15.38 ID:Yl8Am7cI.net]
SQLの書き方次第で100倍は効率良くなる事案

193 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 11:38:01.76 ID:nlvLw0Pz.net]
>>189
遅いから困ってるって明記されてるのにメモリーとか何言ってるんだよw

>>191
書捨てならそれでいいけどよく使うならSQLは覚えていて損はないと思うぞ
考え方に慣れればそれほど難しくないし

194 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 13:13:36.22 ID:V22NtS8V.net]
距離を計算したいのですが、

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 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 13:19:03.45 ID:S1eVQBPA.net]
valuesで取ってから二乗して和をとってしないと行けないんじゃないの

196 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 13:21:21.99 ID:dQZR7cFx.net]
https://pastebin.com/dLSjsvev
このコメントアウトしているコードを実行するとエラーが出るのですが、何が悪いのでしょうか?

197 名前:デフォルトの名無しさん [2020/01/13(月) 13:24:28.21 ID:uorRSC+x.net]
>>194
math.sqrtはpythonの標準関数でスカラーにしか対応していない
np.sqrtにすればたぶん動く

198 名前:デフォルトの名無しさん [2020/01/13(月) 13:37:39.33 ID:+xCO6TbN.net]
>>196
formatなんて組み込み関数はない

199 名前:デフォルトの名無しさん [2020/01/13(月) 13:41:07.13 ID:DXn4EK/n.net]
Python学びたいんだけどどっから手を付けていいかわからん。

取り敢えず、クジラ本 「実践力を身につける Pythonの教科書」(4839960240)は買ってきた。

200 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 13:44:12.30 ID:V22NtS8V.net]
>>197
できました。
ありがとうございます。
m(._.)m



201 名前:デフォルトの名無しさん [2020/01/13(月) 14:08:01.51 ID:IO5oYjrW.net]
教えて下さい。

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.85 ID:6kghygIo.net]
>>201
「WebSite_List」って名前のファイルが参照場所にない。
探せ。
あと拡張子とかついちゃってて名前がかわってないかもチェック。

203 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 15:42:49.08 ID:V22NtS8V.net]
2Dカードゲームでユーザの行動特性を調査する
研究用アプリを開発しようと思ってます

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

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

どちらが、おすすめとかありますか?

204 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 15:43:53.12 ID:V22NtS8V.net]
ちなみにUnity、c#のほうが少しは得意
Pythonは最近sklearnとか使い始めたくらいの超初心者です

205 名前:デフォルトの名無しさん [2020/01/13(月) 15:51:01.10 ID:tF3chcAw.net]
それは

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

というような縛りプレイルールが暗黙的に存在すると考えていいのかしら?
でなかったら俺はゲームをUntiyで書いて機械学習をPythonでやるかな

206 名前:デフォルトの名無しさん [2020/01/13(月) 15:52:19.18 ID:ghAse/mn.net]
親和性って書いてるだろ

207 名前:デフォルトの名無しさん [2020/01/13(月) 15:54:55.78 ID:tF3chcAw.net]
だから、親和性を最優先にするならそれぞれ得意分野に使うのが最善に決まってるだろw

はぁーガイジは人間に進化するまでママと遊んでてくれないかね

208 名前:デフォルトの名無しさん [2020/01/13(月) 15:58:12.59 ID:ghAse/mn.net]
それ親和性優先してねーじゃん

209 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 16:08:32.64 ID:GhUCXbF0.net]
>>208
何と何の親和性について語ってるの?

210 名前:デフォルトの名無しさん [2020/01/13(月) 16:10:23.44 ID:ghAse/mn.net]
ゲームエンジンと機械学習エンジンの接続



211 名前:デフォルトの名無しさん [2020/01/13(月) 17:01:18.46 ID:IO5oYjrW.net]
>>202
ありがとうございます。自分で見る限りは異常ないと思うのですが・・・
IDLEでRunModuleできるのにコマンドプロンプトでエラーがでるってことありますか?

212 名前:デフォルトの名無しさん [2020/01/13(月) 17:03:03.66 ID:6kghygIo.net]
>>211
コマンドプロンプトのカレントディレクトリがIDLEのカレントディレクトリと違ってるんだろ

213 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 17:15:24.55 ID:nfiKoGl1.net]
>>203
それ前も聞いてたけど公開して広くデータを取得する可能性考えたらJavaScript一択だと思うぞ

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

研究室にテスター呼んでやってもらうだけなら
自分が作りやすさだけ考えればいいんだろうけど
その場合でもデータ連携で十分なんだから
得意分野の違う言語を無理やり一つにする意味あんまりない

214 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 17:58:01.77 ID:nfiKoGl1.net]
>>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

215 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 18:01:34.92 ID:V22NtS8V.net]
>>213
ごめんなさい
今やってることの次の研究なので、定期的に頭の中に湧いてくるみたいです。

Unityで行こうと思ってたんだけど、Pythonで機械学習の初歩も学び始めたら、
Pythonでやったほうがいいのかまた悩みはじめました

前は

Unityカードゲーム

データCSVで吐き出し

Pythonで解析

と考えていたけど、カードゲーム中にもデータを機械学習させて、カードゲームの設定をいじるとかしたくなってきました。
そうするとPygameでやったほうがいいのかなと思うんだけど、Pygameの評判があまり良くないようなので、グルグル思案中・・・。

216 名前:180 mailto:sage [2020/01/13(月) 19:27:28.23 ID:wBE7Qmaa.net]
180ですが、教えてもらった相関サブクエリによるselectのやり方で
20万レコード30分くらいかかってたのが2分くらいまで短縮できました。
助かりました。

select後、sqlに保存は依然としてfor文ですが、それも込みで2分です。
保存部分もまとめて、

update table t1 set (select avg(score) …

というやり方ができないかと思って試しましたが、うまくできませんでした。
たぶん、最初にコメントされた方はそこもわかった上で
「少なくともselect文は」と言われたのでしょう。

ウインドウ関数、コンポジットインデックスも教えてくださりありがとうございます。
また試してみます。

217 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 19:42:53.29 ID:Yl8Am7cI.net]
>>216
出来ると思うんだが、内容がすでにPythonから離れているので
データベース板のSQL質疑応答スレで聞いてみると良いかも

218 名前:180 mailto:sage [2020/01/13(月) 20:25:11.89 ID:wBE7Qmaa.net]
>217
たしかに!
意識できていなかったのですが、ちょっとスレ違いでした。すみません。

みなさんクエリがなんとかとか言って争ってる?ので
5ちゃんねるは教えてくれる人々がいつもなんか争ってるなぁとw

219 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 20:49:48.38 ID:6kghygIo.net]
>>218
DBへのクエリの出し方はジッサイトテモダイジだ。
おなじことをしたいときでも
書き順によって
30分かかったり
2分くらいで終わったりだ。
イイネ?

220 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 21:20:28.09 ID:nfiKoGl1.net]
>>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.08 ID:nwry0R0l.net]
大袈裟だな。

222 名前:デフォルトの名無しさん [2020/01/13(月) 21:52:26.47 ID:FBCsPnZa.net]
北海道のグラサンスーパーハゲザーはここにはこないのー?

223 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 22:10:39.12 ID:P1+rByUv.net]
>>211
WebSite_Listの読み込みやってるあたりで外部ファイル参照してない?
ファイル読み込みしてたら、ファイル名をフルパスにするか、 import osして
os.path.dirname(os.path.abspath(__file__)) + '/'+filenameにしてみたら(実行ファイルと同ディレクトリの場合)?

224 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 22:12:13.05 ID:BvowWoiX.net]
pathlibつかえ

225 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 10:02:51.83 ID:RNgj0nXq.net]
>>198 何言ってんだ、あるぞ

226 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 10:44:24.13 ID:sNEc9p7V.net]
>>215
Pythonが機械学習部分を担当し、Unityがゲーム部分を担当し、
両者が通信を行えば言ってるようなことはできる。
(そして正直それがおすすめ)
出来ないうちに色々こんな機能も欲しいって言って考えていくと、要求ばかり大きくなって
結局何も完成しないから、まずは最小限使えるものを作ってしまうべき。
最悪のケースでも、書いたコードは無駄となるかもしれないけど、
設計手法や要素技術は身に着くのだから別のプラットフォームに移植するのに始めのときより時間がかからなくなる。

227 名前:デフォルトの名無しさん [2020/01/14(火) 13:35:18.55 ID:Cb2SImdL.net]
「くだすれ」ってなんですか?

228 名前:デフォルトの名無しさん [2020/01/14(火) 13:59:52.47 ID:6KmUa3mX.net]
ここが起源っぽい
https://www.log soku.com/r/2ch.net/tech/1023766485/

229 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 14:01:21.23 ID:n2n8mDAV.net]
pythonでデータベース使うならどれが簡単?

230 名前:デフォルトの名無しさん [2020/01/14(火) 14:10:20.88 ID:Sh3SY+TQ.net]
sqlite3



231 名前:デフォルトの名無しさん [2020/01/14(火) 14:10:23.62 ID:Cb2SImdL.net]
>>228
なんでそんな略称にしようと思ったんだろうな

232 名前:デフォルトの名無しさん [2020/01/14(火) 14:11:37.48 ID:Sh3SY+TQ.net]
くそスレ
くそが出そう半分出かかってるがトイレ遠くて困ってる
くだらないスレ

233 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 14:14:12.10 ID:/8RfG7cV.net]
>>229
お前が何がしたいのか次第だろう
Webアプリ作ろうとしてるんだったらいくらSQLiteの扱いが簡単とはいえ選択肢に入らないし、
データ分析なんかで大きなデータセットを扱うんだったらBigQueryになるかもしれない

234 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 14:16:57.58 ID:NngjCG95.net]
ポスグレをサイコPGで

235 名前:デフォルトの名無しさん [2020/01/14(火) 14:18:33.49 ID:PBX58Pvh.net]
memcached

236 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 15:32:37.37 ID:ryFU8X4N.net]
>>229 sqlalchemy

237 名前:デフォルトの名無しさん mailto:age [2020/01/14(火) 20:03:55.62 ID:V5Q3d6Dh.net]
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

238 名前:デフォルトの名無しさん mailto:age [2020/01/14(火) 20:12:28.50 ID:V5Q3d6Dh.net]
自決しました。aggを使うのですね。

239 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 20:19:00.39 ID:3etKzhuc.net]
自決したのか!!!

240 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 20:20:27.07 ID:eL1p+DpS.net]
>>238
命は大切にしろよ



241 名前:デフォルトの名無しさん [2020/01/14(火) 21:48:30 ID:sWWbL+aD.net]
超初心者な質問で申し訳ないのですが
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.30 ID:4urAtQVN.net]
numpyが楽

import numpy as np
m=np.array(m)
p=np.array(p)

m[:,3]=p

243 名前:デフォルトの名無しさん [2020/01/14(火) 22:19:54 ID:Cb2SImdL.net]
rubyでは

244 名前:241 [2020/01/14(火) 22:29:22 ID:sWWbL+aD.net]
>>242
ありがとうございます
p=[5,6,7]でmの縦より一個少なくて
ブロードキャストエラーって出てしまいます
これはどうしたらいいですか?

245 名前:デフォルトの名無しさん [2020/01/14(火) 23:52:13.22 ID:4urAtQVN.net]
>>244
縦方向の範囲も決める
m[0:3,3]=p か m[1:4,3]=p

246 名前:デフォルトの名無しさん mailto:age [2020/01/15(水) 03:04:35 ID:TeTRS4cT.net]
sklearnで機械学習のモデルに使えるクラスの一覧取得したいんですけどできますか?






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<72KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef