他の人のように、私はちょうどあなたが欲しいものについて少し混乱しています。
出力は、平均ではなく、id
の各グループの01
コードの合計です。あなたは最後の声明にあまりにも多くの表現を入れましたが、理解するのは少し難しいです。なぜそれを簡単で明瞭にしないのですか?
data=[
['2017-06-26 09:00:00',4015,558460648326103043],
['2017-06-26 09:05:00',4015,13721946658181148],
['2017-06-26 09:10:00',4015,288298648959188992],
['2017-06-26 09:15:00',4015,27023247031744576],
['2017-06-26 09:20:00',4015,435887716434584],
['2017-06-26 09:25:00',4015,2147614720],
['2017-06-26 09:00:00',4014,558451851700273155],
['2017-06-26 09:05:00',4014,13721941188808728],
['2017-06-26 09:10:00',4014,288263395867623424],
['2017-06-26 09:15:00',4014,18016047776938080],
['2017-06-26 09:20:00',4014,145547927225032],
['2017-06-26 09:25:00',4014,3221356544]
]
df = pd.DataFrame(data, columns=['captureTime', 'id', 'digits'])
# convert datetime
df['captureTime'] = pd.to_datetime(df.captureTime)
"""
(2)今、あなたはどのような種類の集計関数を適用することができますdigits
df['counts01'] = df.digits.apply(
lambda x:format(x%2**60,'060b').count('01'))
# output
captureTime id digits counts01
0 2017-06-26 09:00:00 4015 558460648326103043 8
1 2017-06-26 09:05:00 4015 13721946658181148 9
2 2017-06-26 09:10:00 4015 288298648959188992 4
3 2017-06-26 09:15:00 4015 27023247031744576 5
4 2017-06-26 09:20:00 4015 435887716434584 8
5 2017-06-26 09:25:00 4015 2147614720 2
6 2017-06-26 09:00:00 4014 558451851700273155 8
7 2017-06-26 09:05:00 4014 13721941188808728 8
8 2017-06-26 09:10:00 4014 288263395867623424 4
9 2017-06-26 09:15:00 4014 18016047776938080 4
10 2017-06-26 09:20:00 4014 145547927225032 8
11 2017-06-26 09:25:00 4014 3221356544 2
ため'01'
をカウント
(1)INPUT:
あなたが最初のデータを前処理することができます。
(1)あなたは、各id
の平均値にしたい場合:
df.groupby('id')['counts01'].mean()
#output
id
4014 5.666667
4015 6.000000
あなたの最後の文の場合、equvanientがある:明らかに
In [27]: df.groupby('id')['counts01'].sum()
Out[27]:
id
4014 34
4015 36
Name: counts01, dtype: int64
、それは各id
グループの合計です。
(2)「私は時間の平均を計算したいと思っています」という意味を理解できません。時間の経過とともに集計を行いたい場合は、最初に時系列(pd.date_range
)を生成し、次にこの時系列でグループ化することができます。
ありがとうございました。
あなたが持っているソリューションよりも優れたソリューションをお探しですか? – otayeby
私はあなたの出力を参照してくださいが、私はあなたが正確にしたいものとして混乱しています。出力はあなたが望むものではありませんか? – BenT
@tibaまだ平均を計算していません。 – ejshin1