Pandas 是数据分析的一个很厉害的库
常用函数:
import pandas as pd #定义缩写 data = [{'name':'kingname','age':25,'sex':'male'}, {'name':'student','age':18,'sex':'female'}, {'name':'student','age':29,'sex':'male'}, {'name':'other','age':100,'sex':'unknown'}] df = pd.DataFrame(data) ##取age这一列 age = df['age'] ##取age小于30的 age_30 = df[df['age'] < 30] ##去age是偶数的 age_even = df[df['age'] % 2 == 0]
去重
student = df['name'].unique() #去重 unique_df = df.drop_duplicates('name',keep = 'first') #保留第一个 unique_df = df.drop_duplicates('name',keep = 'last') #保留最后一个
Groupby
##统计性别个数,重定义栏目名字 x = df.groupby('sex').size().reset_index(name='size') x = df.groupby('sex').sum() #求和 x = df.groupby('sex').max() #求最大值 x = df.groupby('sex').min() #求最小值 x = df.groupby('sex').mean() #求平均值
画图
%matplotlib inline #让图显示出来 df.plot(x = 'name', y = 'age') #x轴y轴画折线图
读取数据:
df = pd.DataFrame(data) ##csv文件读取 csv_data = pd.read_csv('2.csv') #显示前n行 csv_data.head(n) csv_data.tail() #显示尾行 #文件读取 import sqlite3 with sqlite3.connect('data.db') as conn : new_data = pd.read_sql_query('select * from class_4_data;', conn)