{eval=Array;=+count(Array);}

成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

問答專欄Q & A COLUMN

pandas dataframe可以實(shí)現(xiàn)SQL中的count case嗎?

rottengeekrottengeek 回答0 收藏1
收藏問題

1條回答

microcosm1994

microcosm1994

回答于2022-06-28 14:12

謝邀

答案是完全可以,除此之外,pandas還提供各種復(fù)雜的表格數(shù)據(jù)操作,我們看看下面的例子

pandas

pandas官網(wǎng):

https://pandas.pydata.org/

Pandas是一個(gè)強(qiáng)大的分析結(jié)構(gòu)化數(shù)據(jù)的工具集;它的使用基礎(chǔ)是Numpy(提供高性能的矩陣運(yùn)算);用于數(shù)據(jù)挖掘和數(shù)據(jù)分析,同時(shí)也提供數(shù)據(jù)清洗功能。pandas兩個(gè)主要的數(shù)據(jù)結(jié)構(gòu)包括DataFrameSeries。

DataFrame是Pandas中的一個(gè)表格型的數(shù)據(jù)結(jié)構(gòu),包含有一組有序的列,每列可以是不同的值類型(數(shù)值、字符串、布爾型等),DataFrame即有行索引也有列索引,可以被看做是由Series組成的字典。

Series是一種類似于一維數(shù)組的對(duì)象,是由一組數(shù)據(jù)(各種NumPy數(shù)據(jù)類型)以及一組與之相關(guān)的數(shù)據(jù)標(biāo)簽(即索引)組成。僅由一組數(shù)據(jù)也可產(chǎn)生簡(jiǎn)單的Series對(duì)象。

DataFrame

接下來我們用dataframe來實(shí)現(xiàn)一些對(duì)表格的count操作

創(chuàng)建一個(gè)dataframe的數(shù)據(jù),pandas中的dataframe等價(jià)于sql中的table

from pandas import DataFrame
#創(chuàng)建一個(gè)表格數(shù)據(jù),對(duì)于數(shù)據(jù)庫中的table
data = {
"id":[1,1,1,2,2,2,2,3,3],
"domain":["vk.com","vk.com","twitter.com","vk.com","facebook.com", "vk.com","google.com","twitter.com","vk.com"],
"age":[5,6,7,8,9,10,11,12,13]}
frame = DataFrame(data)
print(frame)



  • 統(tǒng)計(jì)每個(gè)domain出現(xiàn)的次數(shù)

#統(tǒng)計(jì)name中每個(gè)名稱的個(gè)數(shù)
print(frame.groupby("domain")["domain"].count())


  • 統(tǒng)計(jì)id和domain完全相同數(shù)據(jù)的個(gè)數(shù)(等價(jià)于sql中的聯(lián)合查詢)

#聯(lián)合id和domain進(jìn)行統(tǒng)計(jì)
print(frame.groupby(["id","domain"])["domain"].count())


  • 統(tǒng)計(jì)不重復(fù)的domain

#統(tǒng)計(jì)不重復(fù)
domianprint(frame.domain.unique())

  • 統(tǒng)計(jì)age大于10的name

#篩選出符合條件的dataframe
print(frame.where(frame["age"] > 10).dropna())


#統(tǒng)計(jì)domain出現(xiàn)的次數(shù)
print(frame.where(frame["age"] > 10).dropna().groupby("domain")["domain"].count())


實(shí)際上pandas能做的事情還有很多很多,我這里只是簡(jiǎn)單的列舉了一部分而已,它還可以實(shí)現(xiàn)很多很復(fù)雜的操作,相對(duì)來說pandas對(duì)數(shù)據(jù)的操作要比sql操作表格簡(jiǎn)單的多,pandas還提供了一個(gè)to_sql方法可以去操作數(shù)據(jù)庫,感興趣的同學(xué)可以去了解一下。

我以前在博客上寫過一些pandas的入門教程,如果有興趣更進(jìn)一步了解可以去看看我博客的文章

https://blog.csdn.net/sinat_29957455/article/category/9271181

評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長(zhǎng)該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<