[過去ログ] くだすれPython(超初心者用) その46【Ruby禁止】 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
40: デフォルトの名無しさん [sage] 2020/01/04(土) 18:21:36.62 ID:k4tVVk2l(1) AAS
どうしてcmdがおすすめできない訳?
106
(1): デフォルトの名無しさん [] 2020/01/08(水) 21:23:57.62 ID:rc02anx7(2/3) AAS
むしろ、内包表記の方が使わんわ
180
(6): デフォルトの名無しさん [sage] 2020/01/12(日) 23:01:37.62 ID:aXgbqZV+(1/2) AAS
こんにちは質問させてください。

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後、コミット
231: デフォルトの名無しさん [] 2020/01/14(火) 14:10:23.62 ID:Cb2SImdL(2/3) AAS
>>228
なんでそんな略称にしようと思ったんだろうな
237: デフォルトの名無しさん [age] 2020/01/14(火) 20:03:55.62 ID:V5Q3d6Dh(1/2) AAS
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
562: デフォルトの名無しさん [sage] 2020/02/09(日) 15:22:07.62 ID:O6Vx4x7H(1/2) AAS
>>553
listをsetに変換するコストを無視してもsetをイテレートするほうが遅いよ
hash tableをイテレートする時に必要な処理とlistをイテレートする時に必要な処理の違い

といってもその差は微々たるものだから
その差が重要なプログラムを書こうとしてるなら言語を変えたほうがいいかも
662: デフォルトの名無しさん [sage] 2020/02/14(金) 19:07:56.62 ID:+2T2g9zy(1/4) AAS
要領悪いやつ
大人しくutf8宣言しときゃ動くんだからそうしろよ
お前なんかがvscodeのバグ発見したからって何になるんだ
時間のムダ
710
(1): デフォルトの名無しさん [sage] 2020/02/16(日) 14:33:43.62 ID:E60C1LrQ(1) AAS
namedtuppleのクラス継承って3.5.3じゃ無理なのですか?
無理ならバージョン何からできます?
747
(1): デフォルトの名無しさん [sage] 2020/02/18(火) 00:10:14.62 ID:ObTpNy6/(1) AAS
tuple
同じ型が返されることに意味がある
(3,)と(3)で型を比べてみればいい
844
(4): デフォルトの名無しさん [sage] 2020/02/23(日) 12:46:42.62 ID:SIYyhFz4(3/4) AAS
>>841
>>842
ありがとうございます。

質問内容について補足します。(最初からいえばよかったです。すいません。)
A,B,...G...は全て(n,n,n,1)の形をしています。(全て数値です)

[A,B,C,...] (m,n,n,n,1)
[E,F,G,...] (m,n,n,n,1)
から、
[[A,E],[B,F],[C,G]] (m,n,n,n,2)
にしたいです。

>>842さんが教えてくださったものだと、(m,2,n,n,n,1)になりました。

>>841さんの方法でやってみましたが、うまくいきませんでした…
954
(1): デフォルトの名無しさん [sage] 2020/03/04(水) 23:19:20.62 ID:nNNW6i++(1) AAS
Anaconda は、Python が入っていない、Windows 限定

Mac, Linux など、最初から、Pythonが入っているものについては、
初心者には無理なので、プロに聞いてくださいと、
「みんなのPython 第4版、2017」にも、書いてある

つまり、最初から入っている、Pythonと両立させるのは、仮想が必要だから、難しい
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.045s