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

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

每列中每個(gè)值的計(jì)數(shù)熱圖

每列中每個(gè)值的計(jì)數(shù)熱圖

慕婉清6462132 2023-07-18 13:25:55
我有一個(gè)像這樣的數(shù)據(jù)框:| A | B | C  | D |  |---|---|----|---|  | 1 | 3 | 10 | 4 |  | 2 | 3 | 1  | 5 |  | 1 | 7 | 9  | 3 |  其中 ABCD 是類別,值在 [1, 10] 范圍內(nèi)(某些值可能不會出現(xiàn)在單列中)我想要一個(gè)數(shù)據(jù)框,為每個(gè)類別顯示這些值的計(jì)數(shù)。像這樣的東西:|    | A | B  | C | D ||----|---|----|---|---|  | 1  | 2 | 0  | 1 | 0 || 2  | 1 | 0  | 0 | 0 || 3  | 0 | 2  | 0 | 1 || 4  | 0 | 0  | 0 | 1 || 5  | 0 | 0  | 0 | 1 || 6  | 0 | 0  | 0 | 0 || 7  | 0 | 1  | 0 | 0 || 8  | 0 | 0  | 0 | 0 || 9  | 0 | 0  | 1 | 0 || 10 | 0 | 0  | 1 | 0 | 我嘗試使用groupbyandpivot_table但我似乎無法理解要給出哪些參數(shù)。
查看完整描述

3 回答

?
胡說叔叔

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

  • 用途pandas.Series.value_counts適用于每一列

  • seaborn.heatmap將繪制一個(gè)DataFrame

    • 如果提供了 Pandas DataFrame,索引/列信息將用于標(biāo)記列和行。

選項(xiàng)1

import seaborn as sns

import pandas as pd


# dataframe setup

data = {'A': [1, 2, 1], 'B': [3, 3, 7], 'C': [10, 1, 9], 'D': [4, 5, 3]}

df = pd.DataFrame(data)


# create a dataframe of the counts for each column

counts = df.apply(pd.value_counts)


# display(count)

? ? ? A? ? B? ? C? ? D

1? ?2.0? NaN? 1.0? NaN

2? ?1.0? NaN? NaN? NaN

3? ?NaN? 2.0? NaN? 1.0

4? ?NaN? NaN? NaN? 1.0

5? ?NaN? NaN? NaN? 1.0

7? ?NaN? 1.0? NaN? NaN

9? ?NaN? NaN? 1.0? NaN

10? NaN? NaN? 1.0? NaN


# plot

sns.heatmap(counts)

http://img3.sycdn.imooc.com/64b622910001fac403500256.jpg

選項(xiàng)2

  • 熱圖有許多可用的樣式選項(xiàng),并且更改顏色cmap可以改善可視化效果。

    • Seaborn:調(diào)色板

# counts

counts = df.apply(pd.value_counts).fillna(0)


# plot

sns.heatmap(counts, cmap="GnBu", annot=True)

http://img4.sycdn.imooc.com/64b622a20001296a03570249.jpg

默認(rèn)顏色

sns.heatmap(counts,?annot=True)

http://img4.sycdn.imooc.com/64b622ad0001640d03660248.jpg

查看完整回答
反對 回復(fù) 2023-07-18
?
猛跑小豬

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

這是我第一次發(fā)表答案,希望有希望


import seaborn as sns

import pandas as pd

import numpy as np


data = {'A': [1, 2, 1], 'B': [3, 3, 7], 'C': [10, 1, 9], 'D': [4, 5, 3]}

df = pd.DataFrame(data)


df1 = pd.DataFrame(data = None , index = np.arange(11),columns = df.columns) 


for value in df.columns:

    df1[value]= df[value].value_counts()    

df1.fillna(0)


查看完整回答
反對 回復(fù) 2023-07-18
?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊

# necessary imports

import pandas as pd

import numpy as np

從數(shù)據(jù)框開始:


df = pd.DataFrame({'A': [1, 2, 1],

                   'B': [3, 3, 7],

                   'C': [10,1, 9],

                   'D': [4, 5, 3]},

                   index=[0, 1, 2])

然后你可以這樣做:


d = pd.DataFrame(0, index=np.arange(10), columns=['A','B','C','D'])

或者,更一般地說:


d = pd.DataFrame(0, index=np.arange(10), columns=df.columns)

d將具有您想要的數(shù)據(jù)幀結(jié)構(gòu),但具有所有值0。


填寫數(shù)據(jù)框:


for col in df.columns:

    d[col]=df[col].value_counts()

s0被NaNs 取代。再次制作它們0:


d.replace(np.nan, 0, inplace=True)

這會給你:


+----+-----+-----+-----+-----+

|    |   A |   B |   C |   D |

|----+-----+-----+-----+-----|

|  0 |   0 |   0 |   0 |   0 |

|  1 |   2 |   0 |   1 |   0 |

|  2 |   1 |   0 |   0 |   0 |

|  3 |   0 |   2 |   0 |   1 |

|  4 |   0 |   0 |   0 |   1 |

|  5 |   0 |   0 |   0 |   1 |

|  6 |   0 |   0 |   0 |   0 |

|  7 |   0 |   1 |   0 |   0 |

|  8 |   0 |   0 |   0 |   0 |

|  9 |   0 |   0 |   1 |   0 |

+----+-----+-----+-----+-----+


查看完整回答
反對 回復(fù) 2023-07-18
  • 3 回答
  • 0 關(guān)注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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