#!/usr/bin/python # -*- coding:utf8 -*- import os import pandas as pd import time,datetime import xlrd #解决读入xlsx文件 import numpy as np import matplotlib.pyplot as plt print os.getcwd() #显示当前路径 path = '/home/songtian/Downloads/Pythondata' #设置路径 os.chdir('/home/songtian/Downloads/Pythondata') #改变路径 print os.getcwd() #显示当前改变后路径 print os.listdir(path) #显示path路径下的所有文件 data1 = pd.read_table('data1.txt' , header=None) #pandas读取txt文件,而且头部信息不为变量,设置header=None,而不是False data2 = pd.read_table('data2.txt' , header=None) #pandas读取txt文件,而且头部信息不为变量,设置header=None,而不是False data3 = pd.read_table('data3.txt' , header=None) #pandas读取txt文件,而且头部信息不为变量,设置header=None,而不是False data4 = pd.read_table('data4.txt' , header=None) #pandas读取txt文件,而且头部信息不为变量,设置header=None,而不是False data = pd.concat([data1,data2,data3,data4]) #数据的拼接,默认是按行拼接增加行数,如果横向拼接需要增加axis=1 data.columns=['ajbh','hkrq','hkmx','hkze','hkbz'] #重新赋值变量名 print data.shape print data.head() print data1.head() #显示数据的前几行 print data1.tail() #显示数据的后几行 print data1.shape #显示数据的大小 print data1.describe() #自动对数值型变量进行统计分析 data1.columns=['ajbh','hkrq','hkmx','hkze','hkbz'] #重新赋值变量名 print data1.head() data1.rename(columns={'ajbh':'bh', 'hkmx':'hkje'}, inplace = True) #修改列名,其中inplace = True必须设置 print data1.head() data1.columns=['ajbh','hkrq','hkmx','hkze','hkbz'] #重新赋值变量名 group1 = data1[["ajbh","hkmx"]].groupby("ajbh").sum() #groupby语句进行聚组求和 print group1 ssaj = pd.read_excel('data.xlsx') #pandas读取xlsx文件 print ssaj.head() print ssaj.shape print ssaj["bh"] #提取查看某一列数据 ssaj = ssaj.drop_duplicates() #对所有列重复数据进行去重 #ssaj1 = ssaj.drop_duplicates(["bh"]) #只对某一列进行去重,保留下重复数据的第一行记录,加入take_last=True则保留最后一个 print type(ssaj) print type(ssaj["rq"]) datatest = pd.merge(data,ssaj,how="left",left_on='ajbh',right_on='bh') #两个数据框左拼接,how设置方式,left_on设置左数据框,right_on设置右数据框 print datatest.shape print datatest.head() ''' a = '2016-09-18' b = '2016-09-20' a_ = datetime.datetime.strptime(a,'%Y-%m-%d') b_ = datetime.datetime.strptime(b,'%Y-%m-%d') c = b_ - a_ print c.days '''
Python数据分析初探
最新推荐文章于 2023-03-23 16:51:58 发布