Python資料分析初探

2021-08-03 11:26:23 字數 2936 閱讀 8934

#!/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=,

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做資料分析初探(四)

我們可以用 dataframe 的describe 函式列出一些統計資訊 該函式列出了dataframe 的行數,均值,方差,最大最小值,25 50 75 處的值,讓我們能對資料有個大概的了解。然後我想按檔案的尺寸排序,了解哪些檔案的尺寸是最大的,用sort values 函式即可。在jupter ...

python資料分析

以網路爬蟲為例,網路爬蟲是乙個自動提取網頁的程式,爬蟲是搜尋引擎的第一步,也是最容易的一部。網頁搜尋,建立索引,查詢排序 用c c 效率高,速度塊,適合通用搜尋引擎做往往爬取。但是它的缺點也特別明顯 開發慢,寫起來又臭又長的。而python無論在資料分析還是在指令碼自動化編寫尚都是簡單,易學的。良好...

python資料分析

陣列間的算術運算 npwhere pandas的使用 np.random.rand 3,4 產生乙個3行4列的矩陣 0 1之間的 in 32 data1 1,2,3,4.0 in 34 arr1 np.array data1 in 35 arr1 out 35 array 1.2.3.4.in 37...