{eval=Array;=+count(Array);}
謝邀
答案是完全可以,除此之外,pandas還提供各種復(fù)雜的表格數(shù)據(jù)操作,我們看看下面的例子
pandas官網(wǎng):
https://pandas.pydata.org/
Pandas是一個強大的分析結(jié)構(gòu)化數(shù)據(jù)的工具集;它的使用基礎(chǔ)是Numpy(提供高性能的矩陣運算);用于數(shù)據(jù)挖掘和數(shù)據(jù)分析,同時也提供數(shù)據(jù)清洗功能。pandas兩個主要的數(shù)據(jù)結(jié)構(gòu)包括DataFrame和Series。
DataFrame是Pandas中的一個表格型的數(shù)據(jù)結(jié)構(gòu),包含有一組有序的列,每列可以是不同的值類型(數(shù)值、字符串、布爾型等),DataFrame即有行索引也有列索引,可以被看做是由Series組成的字典。
Series是一種類似于一維數(shù)組的對象,是由一組數(shù)據(jù)(各種NumPy數(shù)據(jù)類型)以及一組與之相關(guān)的數(shù)據(jù)標(biāo)簽(即索引)組成。僅由一組數(shù)據(jù)也可產(chǎn)生簡單的Series對象。
接下來我們用dataframe來實現(xiàn)一些對表格的count操作
創(chuàng)建一個dataframe的數(shù)據(jù),pandas中的dataframe等價于sql中的table
from pandas import DataFrame
#創(chuàng)建一個表格數(shù)據(jù),對于數(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)計每個domain出現(xiàn)的次數(shù)
#統(tǒng)計name中每個名稱的個數(shù)
print(frame.groupby("domain")["domain"].count())
統(tǒng)計id和domain完全相同數(shù)據(jù)的個數(shù)(等價于sql中的聯(lián)合查詢)
#聯(lián)合id和domain進行統(tǒng)計
print(frame.groupby(["id","domain"])["domain"].count())
統(tǒng)計不重復(fù)的domain
#統(tǒng)計不重復(fù)
domianprint(frame.domain.unique())
統(tǒng)計age大于10的name
#篩選出符合條件的dataframe
print(frame.where(frame["age"] > 10).dropna())
#統(tǒng)計domain出現(xiàn)的次數(shù)
print(frame.where(frame["age"] > 10).dropna().groupby("domain")["domain"].count())
實際上pandas能做的事情還有很多很多,我這里只是簡單的列舉了一部分而已,它還可以實現(xiàn)很多很復(fù)雜的操作,相對來說pandas對數(shù)據(jù)的操作要比sql操作表格簡單的多,pandas還提供了一個to_sql方法可以去操作數(shù)據(jù)庫,感興趣的同學(xué)可以去了解一下。
我以前在博客上寫過一些pandas的入門教程,如果有興趣更進一步了解可以去看看我博客的文章
https://blog.csdn.net/sinat_29957455/article/category/9271181
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答10
回答0
回答