pandas的基本操作
1、reindex重新索引
pandas提供了一個reindex方法來建立一個適應新索引的新物件,Serires通過呼叫reindex方法會根據新索引的順序重新排序,如果新的索引中存在原索引中不存在的索引,將會使用NaN值進行填充。
obj = Series([1,2,3],index=["c","b","a"])
obj1 = obj.reindex(["a","b","c","d"])
print(obj1)
'''
a 3.0
b 2.0
c 1.0
d NaN
'''
a、通過fill_value來指定填充值
obj2 = obj.reindex(["a","b","c","d"],fill_value=0)
print(obj2)
'''
a 3
b 2
c 1
d 0
'''
b、插值處理
ffill或pad前向填充,使用插值的前一個值來填充
method除了"ffill"和"pad"之外,還可以是"bfill"和"backfill"後向填充,當沒有前一個值或者後一個值的時候,會使用預設的NaN進行填充。obj = Series([1,2,3],index=["a","c","e"]) obj1 = obj.reindex(["a","b","c","d","e","f"],method="ffill") print(obj1) ''' a 1 b 1 c 2 d 2 e 3 f 3 '''
c、使用reindex對DataFrame進行、列索引重排
可以同時對DataFrame的行和列進行重新索引,需要注意的時候,插值只能按行應用,對列無效。#生成一個3行3列的二維陣列 a = np.arange(9).reshape(3,3) frame = DataFrame(a,index=["a","b","c"],columns=["one","two","three"]) print(frame) ''' one two three a 0 1 2 b 3 4 5 c 6 7 8 ''' #重新排列行索引 frame2 = frame.reindex(["c","b","a"]) print(frame2) ''' one two three c 6 7 8 b 3 4 5 a 0 1 2 ''' #重新排列列索引 frame3 = frame.reindex(columns=["three","two","one"]) print(frame3) ''' three two one a 2 1 0 b 5 4 3 c 8 7 6 '''
2、使用ix標籤重新索引
frame2 = frame.ix[["c","b","a"],["three","two","one"]]
print(frame2)
'''
one two three
c 6 7 8
b 3 4 5
a 0 1 2
'''
需要注意的是,第一個列表代表行索引,第二個代表列索引。3、刪除指定行或列
a、Series通過索引刪除行
a = np.arange(3)
series = Series(a,index=["a","b","c"])
series1 = series.drop("b")
print(series)
'''
a 0
b 1
c 2
'''
print(series1)
'''
a 0
c 2
'''
可以發現,並不會在原來的Series上刪除,只是返回了一個新的Series。可以通過指定inplace為True,在原來的Series上進行刪除
a = np.arange(3)
series = Series(a,index=["a","b","c"])
series.drop("b",inplace=True)
print(series)
'''
a 0
c 2
'''
b、DataFrame刪除行和列
a = np.arange(9).reshape(3,3)
dataFrame = DataFrame(a,index=["a","b","c"],columns=["one","two","three"])
#刪除行
dataFrame1 = dataFrame.drop(["a","c"],axis=0)
print(dataFrame1)
'''
one two three
b 3 4 5
'''
#刪除列
dataFrame2 = dataFrame.drop(["one","two"],axis=1)
print(dataFrame2)
'''
three
a 2
b 5
c 8
'''
刪除行的時候,可以不指定axis=0,預設是刪除行,在刪除列的時候必須指定,不然會報ValueError: labels ['one' 'two'] not contained in axis4、通過索引獲取指定位置的值
a、Series獲取值
a = np.arange(3)
series = Series(a,index=["a","b","c"])
#通過索引獲取
print(series[["b","c"]])
'''
b 1
c 2
'''
#通過下標獲取
print(series[1:3])
'''
b 1
c 2
'''
通過索引獲取值的時候,可以是單個索引或者一個索引列表,在使用下標獲取值的時候,需要注意的時候是從0開始,而且不包括右邊的下標。也可以使用["a":"c"]型別與下標來獲取值,不同的是,它包括右邊的索引。b、DataFrame獲取值
a = np.arange(9).reshape(3,3)
dataFrame = DataFrame(a,index=["a","b","c"],columns=["one","two","three"])
#獲取列的值
print(dataFrame[["one","two"]])
'''
one two
a 0 1
b 3 4
c 6 7
'''
#獲取行的值
print(dataFrame[0:2])
'''
one two three
a 0 1 2
b 3 4 5
'''
5、索引過濾
a = np.arange(9).reshape(3,3)
dataFrame = DataFrame(a,index=["a","b","c"],columns=["one","two","three"])
#選取列索引為"two"大於5的數
print(dataFrame[dataFrame["two"] > 5])
'''
one two three
c 6 7 8
'''
#選取所有大於5的數,返回一個bool型別的二維陣列
print(dataFrame > 5)
'''
one two three
a False False False
b False False False
c True True True
'''
DataFrame對於行的操作可以使用ix
a = np.arange(9).reshape(3,3)
dataFrame = DataFrame(a,index=["a","b","c"],columns=["one","two","three"])
#選取第二行的第一列和第三列
print(dataFrame.ix["b",["one","three"]])
'''
one 3
three 5
''
相關推薦
pandas 基本操作
元素 概念 轉換 array list dex 增加 兩個 重要 1. 一維數據結構Series a. 概念:Series 是pandas 的一維數據結構,有重要的兩個屬性 index 和values b. 初始化: 可以通過 python 的 List 、d
pandas基本操作
pandas 其中 otl 賦值 family 留下 均值 大於 同時 一、查看數據 1.查看DataFrame前xx行或後xx行a=DataFrame(data);a.head(6)表示顯示前6行數據,若head()中不帶參數則會顯示全部數據。a.tail(6)表示顯
python pandas 基本操作
pandas 是基於 Numpy 構建的含有更高階資料結構和工具的資料分析包 類似於 Numpy 的核心是 ndarray,pandas 也是圍繞著 Series 和 DataFrame 兩個核心資料結構展開的 。Series 和 DataFrame 分別對應於一維的序列和二維的表結構。
Python資料分析庫pandas基本操作
pandas是什麼? 是它嗎? 。。。。很顯然pandas沒有這個傢伙那麼可愛。。。。 我們來看看pandas的官網是怎麼來定義自己的: pandas is an open source, easy-to-use data structures and data an
pandas基本操作函式
python pandas基本函式 檢視資料 .head() .tail() .shape .describe()
pandas庫介紹之DataFrame基本操作
讀取excel 操作 pyplot 分組 寫入 pos ner 結構 此外 怎樣刪除list中空字符? 最簡單的方法:new_list = [ x for x in li if x != ‘‘ ] 今天是5.1號。 這一部分主要學習pandas中基於前面兩種數據結構的基
pandas.DataFrame()的基本操作
感覺上pandas的DataFrame就像numpy中的矩陣,不過它擁有列名和索引名,實際操作起來會更方便一些。 import numpy as np import pandas as pd from pandas import Series, DataFrame # 使用 瀏覽器
pandas庫之DataFrame基本操作
轉自:http://www.jianshu.com/p/75f915cc5147 這一部分主要學習pandas中Series和DataFrame基本操作。
Pandas 資料框增、刪、改、查、去重、抽樣基本操作
總括 pandas的索引函式主要有三種: loc 標籤索引,行和列的名稱 iloc 整型索引(絕對位置索引),絕對意義上的幾行幾列,起始索引為0 ix 是 iloc 和 loc的合體 at是loc的快捷方式 iat是iloc的快捷方式 建立測試資料
Pandas DataFrame 的基本操作之重新索引
1.reindex:可以對行和列索引,預設對行索引,加上關鍵字columns對列索引。 import pandas as pd data=[[1,1,1,1],[2,2,2,2],[3,3,3,3],[4,4,4,4]] df = pd.DataFrame(data,ind
【pandas】[2] DataFrame 基礎,建立DataFrame和增刪改查基本操作(1)
作者:lianghc 地址:http://blog.csdn.net/zutsoft DataFrame 是pandas最常用的資料結構,類似於資料庫中的表,不過DataFrame不僅僅限制於2維,可以建立多維資料表。DataFrame既有行索引,也有列
pandas小記:pandas資料結構和基本操作
pandas的資料 結構:Series、DataFrame、索引物件 pandas基本功能:重新索引,丟棄指定軸上的項,索引、選取和過濾,算術運算和資料對齊,函式應用和對映,排序和排名,帶有重複值的軸索引 Pandas介紹 pandas含有使資料分析工作變得更快更簡單
pandas的基本操作
1、reindex重新索引 pandas提供了一個reindex方法來建立一個適應新索引的新物件,Serires通過呼叫reindex方法會根據新索引的順序重新排序,如果新的索引中存在原索引中不存在的索引,將會使用NaN值進行填充。 obj = Series([1,
Python 十分鐘學會pandas基本資料操作
importIn[1]: import numpy as np In[2]: import pandas as pd In[3]: import matplotlib.pyplot as plt 建立物件通過list建立Series,pandas建立預設的整數索引In[4]: s = pd.Series
pandas一些基本操作(DataFram和Series)_4
協方差 first tac imp value 等級分 panda 二次排序 wap import numpy as np;import pandas as pd;kill_num=pd.Series([10,12,8,5,0,2,6])#擊殺數量#青銅1200-2000#
pandas一些基本操作(DataFram和Series)_2
randint isinf 向上 四舍五入 and [1] taf init base import numpy as nparr1 = np.arange(32).reshape(8,4)print(arr1)arr1 = arr1.reshape(-1);print(a
pandas一些基本操作(DataFram和Series)_3
重復值 包含 asc import afr and 對齊 是否 isn import pandas as pd;import numpy as np#通過一維數組創建Chinese = np.array([89,87,86])print(Chinese)print(pd.S
python-pandas基本資料操作
一、檢視資料(檢視物件的方法對於Series來說同樣適用) 1.檢視DataFrame前xx行或後xx行 a=DataFrame(data); a.head(6)表示顯示前6行資料,若head()中不帶引數則會顯示全部資料。 a.tail(6)表示顯示後
python之Pandas庫的基本操作
Pandas的安裝比較容易,安裝好Numpy之後,可以通過pip install pandas直接或者下載原始碼之後安裝,但是預設的Pandas還不能讀寫Excel檔案,需要安裝xlrd(讀),xlwt(寫)庫才能支援Excel的讀寫,方法如下: pip install x
pandas中基本操作——如缺失值處理。等
# =====替換缺失值=== data[data.isnull()] = 0 data.fillna(0,inplace=True) #====25% 和75%=== sta = data['A_sale'].describe() #.describe(