第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

依靠布爾變量

依靠布爾變量

我有一個數(shù)據(jù)框(事件)有幾列:id,...,click,...列“click”是一個布爾變量,其值為“True”或“False”。我使用下面的 Python 代碼來計算每個“id”的“真”數(shù)量:click_yes = events.groupby("id")["click"].count(True).reset_index()結(jié)果出現(xiàn)了一個錯誤:TypeError: count() takes 1 positional argument but 2 were given示例輸出:如果情況是這樣的原始數(shù)據(jù)框:   id  click0   0   True1   1   False2   1   True3   1   True4   2   True5   2   False6   3   False我希望結(jié)果是一個新的數(shù)據(jù)框,像這樣(計算“真”的數(shù)量):   id  click_count0   0   11   1   22   2   13   3   0如何修改我的以下代碼(不起作用)或編寫新代碼以實現(xiàn)我的期望?click_yes = events.groupby("id")["click"].count(True).reset_index() 謝謝?。?!這樣做的正確方法是什么?
查看完整描述

4 回答

?
婷婷同學(xué)_

TA貢獻(xiàn)1844條經(jīng)驗 獲得超8個贊

您可以sum()改用 - 因為True值是 1 并且False是 0。



查看完整回答
反對 回復(fù) 2022-06-14
?
MM們

TA貢獻(xiàn)1886條經(jīng)驗 獲得超2個贊

>>> sum(map(bool,[True, True, False, False, False, True]))

3

答案是 3,因為True == 1


或只有總和:


>>> sum([True, True, False, False, False, True])

3

或使用計數(shù)():


lst = [True, True, False, False, False, True] 

print(count(lst)


查看完整回答
反對 回復(fù) 2022-06-14
?
侃侃無極

TA貢獻(xiàn)2051條經(jīng)驗 獲得超10個贊

我假設(shè)您使用的是熊貓數(shù)據(jù)框,所以我添加了一種快速方法。BTW:實際上你的使用count是錯誤的。它只能返回某些東西(例如列表)的長度,但不能用作過濾器。


當(dāng)您添加了所需的輸出時,我現(xiàn)在了解您嘗試實現(xiàn)的目標(biāo)。我添加了一個新的片段。我再次過濾“真”值。在下一行中,我根據(jù)其列內(nèi)容開始對行求和。


import pandas as pd


# Create your list

# initialize list of lists

data = [ [0, True], [1, False], [1, True], [5, True], [2, True], 

         [2, False], [3, False], [2, True], [4, False], [1, True],

         [6, True], [2, True]]


# Create the pandas DataFrame

df = pd.DataFrame(data, columns=['id', 'click'])

df = df.sort_values(by=['id'])



#------------------------------------------------------------------------------#


# Filter for key value true

df = df[df.click == True]

# Merge lines depending of it's column content

filtered =  df.groupby('id').agg({ 'click':'sum'}).reset_index()

# If we need it, rename the column

filtered = filtered.rename(columns={"click": "click_count"})



# Print out the list

print(filtered)

如果這是您的輸入(數(shù)據(jù)框):


    id  click

0    0   True

1    1  False

2    1   True

9    1   True

4    2   True

5    2  False

7    2   True

11   2   True

6    3  False

8    4  False

3    5   True

10   6   True

使用該代碼段,您將獲得以下輸出:


    id  click_count

0   0          1.0

1   1          2.0

2   2          3.0

3   5          1.0

4   6          1.0


查看完整回答
反對 回復(fù) 2022-06-14
?
蕭十郎

TA貢獻(xiàn)1815條經(jīng)驗 獲得超13個贊

如果情況是這樣的:


原始數(shù)據(jù)框:


   id  click

0   0   True

1   1   False

2   1   True

3   1   True

4   2   True

5   2   False

6   3   False

我希望結(jié)果是一個新的數(shù)據(jù)框,像這樣(計算“真”的數(shù)量):


   id  click_count

0   0   1

1   1   2

2   2   1

3   3   0

如何修改我的以下代碼(不起作用)或編寫新代碼以實現(xiàn)我的期望?


click_yes = events.groupby("id")["click"].count(True).reset_index()

謝謝 ?。?!


查看完整回答
反對 回復(fù) 2022-06-14
  • 4 回答
  • 0 關(guān)注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號