Python数据分析初探

#!/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
'''









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值