Leetcode-30 Days of Pandas整理(2/2)

J
J NOTE

Hello,這篇整理了我在進行Leetcode-30 Days of Pandas所遇到的各種問題與解答,同時也彙整了一些基礎語法,各種用法都會有對應的題目,如果有更好的方式也歡迎一起討論!

(本篇文章以markdown撰寫,參考文件為https://markdown.tw/)

建立表格的基本方式

import pandas as pd
from pandas import DataFrame
pd=pd.DataFrame({'name':['value']})
pd=pd.DataFrame({'category':['a','b','c'],'count':['1','2','3']})
name
value
categorycount
a1
b2
c3

len(A.index) #取column長度
A.shape[0] #取column長度
A.sort_values(by=['column name']ascending=False, inplace=True)
#ascending=True表示遞減,inplaceTrue會取代原有表格

Example

A=pd.DataFrame{'category':['a','b','c'],'count':['1',3','2']}
print(len(A.index),A.shape[0] )
A.sort_values(by=['count'],ascending=False,inplace=True)

result

A

categorycount
a1
b3
c2

3 3

A(sorted)

categorycount
b3
c1
a1
A.column= ['a_1','b_1','c_1']
#rename
A=A[['a','b','c']].reset_index(drop=True)
A['a_1']=A['a'].rank(method='dense')
A.drop('a'.axis=1)
A.sort_values(by='a',inplace=True)
#
A.drop_duplicates(subset=['a'],keep='first',inplace=True)
df=A[A.a==A.b]
#A裡面a==b的欄位
round(df.shape[0]*100/df1.shape[0],2)
#df占d1的比例,取到小數點第2位)

rename A

a_1b_1
a_11
b_13
c_12
df=A.groupby('a').size().reset_index(name='count')
#size
A.groupby('a').agg({'date':'min'}).reset_index()
A.groupby('a').nunique.reset_index()
df=pd.DataFrame(A.value_counts('a')).reset_index()
A['a'].mode().to_frame()
df=A.merge(B, on='a',how='left')
A=A.agg(name='a','b').reset_index()
df=pd.merge(A,B,how='cross')
df=pd.merge(A,B,left_on='a',right_on='b',how='inner'

Comments