Python資料分析幾個比較常用的方法
轉載自:http://blog.sina.com.cn/s/blog_49f78a4b0102vs9m.html
1,表頭或是excel的索引如果是中文的話,輸出會出錯
解決方法:python的版本問題!換成python3就自動解決了!當然也有其他的方法,這裡就不再深究
2,如果有很多列,如何輸出指定的列?
需求情況:有的時候,資料很多,但是隻要僅僅對部分列的資料進行分析的話,要怎麼做?
解決方法:
df = pandas.read_excel('1.xls',sheetname= '店鋪分析日報')
df = df.loc[:,['關鍵詞','帶來的訪客數','跳失率']] #訪問指定的列
一行讀取資料,第二行訪問指定列
3,如何為資料框新增新的列?
需求情況:有一個表格,裡面的列是單價,數量,想再輸出一個總價的列,或是對一些資料進行總結
解決方法:直接上程式碼
from pandas import read_csv;
import pandas;
df = read_csv("1.csv", sep="|");
#把計算結果新增為一個新的列
df['result'] = df.price*df.num #新的列名,後面是對應的數值
print (df)
4,如何對百分號的數值進行計算,再將其輸出
需求情況:比較蛋疼的一個情況,電商很多資料都是百分比的,帶有百分號,不能進行直接的計算,需要對其進行轉換,然後再輸出
解決方法:
from pandas import read_csv;
import pandas;
df = read_csv("1.csv", sep="|");
f = df['跳失率'].str.strip("%").astype(float)/100;
f.round(decimals=2) #保留小數點後面2位
f_str = f.apply(lambda x: format(x, '.2%')); #再轉換成百分號並且保留2位數(精度可以調整)
df['跳失率'] = f_str #重新賦值
5,如何獲取匯入的資料有幾行和幾列(數值)
需求情況:有的時候需要寫一個通用指令碼,比如隨機抽樣分析,程式自動獲取行和列的話,寫出來的指令碼通用性明顯會很強
解決方法:
df.columns.size #獲取列數
df.iloc[:, 0].size #獲取行數
6,如何對資料進行排序
需求情況:這個就不用說了,到處都要用到
解決方法:
df['跳失率'].size #對資料進行排序
newDF = df.sort(['曝光量', '帶來的訪客數'], ascending=[True, False]); #多重排序
7,如何刪除指定的列?
需求情況:同樣,十幾列的資料,如果你想獲取指定的輸出資料,可以用方法2,但是如果想要獲取的資料列比較多,只有1-2行不想要,這樣就可以用指定刪除列的方法了
解決方法:
df.columns.delete(1)
一行程式碼搞定!
總結:整體來說的,python的語法在做資料分析還是相當簡單的,很多的需求基本上就是一行程式碼搞定!
8,如何新增整行資料?
df.append([1,2,34,,5])