在jupyter notebook里面shift+tab查看函数详情
常用的库/包
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
导入csv或者excel文件
os.chdir(r" ")
os.getcwd()#获取当前路径
os.listdir()
#当前文件夹的list
df=pd.read_csv('XXXXX.csv',sep=';',header=0)
#指定读入csv文件的分隔符
df=pd.read_excel("XXXX.xlsx",sheet_name=None)#为none表示读入所有的sheet
df.keys()#查看sheet的名称
df=pd.read_excel("XXXX.xlsx",sheet_name="Sheet1")
df=pd.read_excel("XXXX.xlsx",sheet_name="Sheet1",dtype='str')
#dtype='str'表示所有列读入的时候就指定数据类型,比较粗暴
其他转换数据类型的方法:
数据检查:
#数据检查
df.info()
#数据大体情况
df.describe()
#自定义函数
def data_check(df,if_detail_info=True):
print("There are",df.shape[0],"rows and",df.shape[1],"columns")
print("The variables are:",df.columns)
if if_detail_info==True:
print("---------------------------------------------")
print(df.info())
data_check(df)
关于merge函数的使用方式:
pd.merge()只能用于两个表的左右拼接
merge默认是inner内连接,只把主键相同的信息进行连接,不指定on,相同信息的列作为判断依据。所以,一般情况下都要指定on。
也可以使用索引进行左右拼接,left_index=True或者right_index=True就可以(默认为false),但基本用不上吧。
how="outer",外连接是保留两个表的所有信息,拼接的时候遇到标签不能对齐的部分,用NAN进行填充。
how="left",左连接是保留所有左表的信息,把右表中主键与左表一致的信息拼接进来,标签不能对齐的部分,用NAN进行填充。
indicator=True,设定显示拼接后的表中哪些信息来自于哪一个表格,默认为false
#两表合并
data=pd.merge(a,b,how="left",on=[" "," "])
pd.concat()多表拼接:
axis=0 表示上下堆叠,当axis=1表示左右拼接。默认axis为0。
#两张表字段是一样的,直接上下合并
df=pd.concat([df1,df2,df3])
#合并之后记得重置index
df.reset_index(inplace = True)
删除:
#删掉某列中某些不要的字段
data=df[-df.时间.isin(["1月","2月","3月"])]
#直接删掉某列
data.drop("Education",axis=1) #axis=0代表行,axis=1代表列,重要,如果不写默认为0
排序:
data.sort_values(by="Age",axis=0,ascending=True).head()
data.sort_values(by=["Age","Income"],axis=0,ascending=True).head()
#两个排序条件,从小到大排序把ascending改为false
pd.pivot_table()