pandas DataFrame

Steven Wang
4 min readDec 31, 2018

--

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’]

--

--

Steven Wang
Steven Wang

No responses yet