pandas DataFrame
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
link=’https://www.tiobe.com/tiobe-index/’
import webbrowser
webbrowser.open(link)
clipboard創建DataFrame
df=pd.read_clipboard() #clipboard讀取數據為DataFrame
df.columnname #取出series
df[‘columnname’] #取出series
DataFrame操作
df.columns#取出欄位名稱
df.index#取出index
df_new=DataFrame(df,columns=[‘columnname1’,’columnname2’])#由dataframe取出特定欄位成為新的dataframe
df_new=DataFrame(df,columns=[‘columnname1’,’columnname2’,’columnname3’])#由dataframe取出特定欄位成為新的dataframe,但是columnname3不存在
df_new[‘columnname3’]=Series(range(0,10))#賦值 df_new[‘columnname3’]=range(0,10)#賦值
df[:4]
dataframe.loc用name取值
df.loc[0]
df.loc[0:4,[‘columnname1’,’columnname2’]]#第0到第3row的cn1,cn2
df.loc[[2,5],[‘columnname1’,’columnname2’]] #第二跟第五row的cn1,cn2
dataframe.iloc用index取值
df.iloc[0:3,0:3]
df.head()
df.tail()
crate dataframe from dict
iterrows訪問DataFrame的每一行
for row in df.iterrows():
print(row[0],row[1])
以上由dataframe取出series
series組合成dataframe
s1=series
s2=series
s3=series
df_new=dataframe([s1,s2,s3],index=[rowname1,rowname2,rowname3])
df_new=df_new.T #T轉置
df_new.index=[‘A’,’B’,’C’] #index賦值
dataframe IO
df.to_csv(‘filename.csv’)
df.to_csv(‘filename.csv’,index=False) #csv不存入index
pd.read_csv(‘filename.csv’)
df_json=df.to_json()
pd.read_json(df_json)
df.to_html(‘df_io.html’)
df_html=pd.read_html(‘df_io.html’)#list
df_html[0]#選取table
dataframe selecting and indexing
df.shape
df.head()
df.tail()
filter columns
df[‘columnname’]
df[[‘columnname1’,’columnname2’]]
df.columns #show df columns name
filter by index(position)
df.iloc[0]
df.iloc[:,0] #逗號之前選row 逗號之後選column
df.iloc[:,0:2]
filter by label
df.loc[1]
df.loc[1,[‘columnname1’]
df.loc[1,[‘columnname1’,’columnname2’]
df.loc[[1,4],[‘columnname1’,’columnname2’]