1. 程式人生 > >pandas中dataframe的索引使用和轉換為array

pandas中dataframe的索引使用和轉換為array

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Nov  6 23:44:54 2018

@author: lilong
"""
import pandas as pd
import numpy as np


# 通過行標籤索引行資料  index可以為整數
data = [[1,2,3],[4,5,6]]
index = [0,1]
columns=['a','b','c']
df = pd.DataFrame(data=data, index=index, columns=columns)
print
(df,'\n') print (df.loc[0],'\n') print (df.loc[1]) print('.................') # 行標籤索引 index為字元 data = [[1,2,3],[4,5,6]] index = ['d','e'] columns=['a','b','c'] df = pd.DataFrame(data=data, index=index, columns=columns) print (df,'\n') print (df.loc['d']) print('.................') # 多行獲取 data = [
[1,2,3],[4,5,6]] index = ['d','e'] columns=['a','b','c'] df = pd.DataFrame(data=data, index=index, columns=columns) print (df,'\n') print (df.loc['d':]) print('.................') # 索引某行某列 data = [[1,2,3],[4,5,6]] index = ['d','e'] columns=['a','b','c'] df = pd.DataFrame(data=data, index=index, columns=
columns) print (df,'\n') print (df.loc['d',['b','c']]) print('.................') # 索引某列 data = [[1,2,3],[4,5,6]] index = ['d','e'] columns=['a','b','c'] df = pd.DataFrame(data=data, index=index, columns=columns) print (df,'\n') print (df.loc[:,['c']]) print('.................') # iloc通過行號索引 data = [[1,2,3],[4,5,6]] index = ['d','e'] columns=['a','b','c'] df = pd.DataFrame(data=data, index=index, columns=columns) print (df,'\n') print (df.iloc[1]) print('.................') # iloc通過行號多行索引 data = [[1,2,3],[4,5,6]] index = ['d','e'] columns=['a','b','c'] df = pd.DataFrame(data=data, index=index, columns=columns) print (df,'\n') print (df.iloc[0:]) print('.................') # iloc索引列 data = [[1,2,3],[4,5,6]] index = ['d','e'] columns=['a','b','c'] df = pd.DataFrame(data=data, index=index, columns=columns) print (df,'\n') print (df.iloc[:,[1]]) print('.................') data = [[1,2,3],[4,5,6]] index = ['d','e'] columns=['a','b','c'] df = pd.DataFrame(data=data, index=None, columns=columns) print (df,'\n') print (df.iloc[:,[1]],'\n') tt=df.iloc[:,[1]] print(tt.values) ''' # 索引列資料時 如下操作會出錯: # KeyError: 'the label [a] is not in the [index]' data = [[1,2,3],[4,5,6]] index = ['d','e'] columns=['a','b','c'] df = pd.DataFrame(data=data, index=index, columns=columns) print (df,'\n') print (df.loc['a']) ''' # DataFrame型別轉換成Numpy中array型別的三種方法 data = [[1,2,3],[4,5,6]] index = ['d','e'] columns=['a','b','c'] df = pd.DataFrame(data=data, index=None, columns=columns) print (df,'\n') print(df.values,'\n') print(df.as_matrix(),'\n') print(np.array(df),'\n')

執行:

 a  b  c
0  1  2  3
1  4  5  6 

a    1
b    2
c    3
Name: 0, dtype: int64 

a    4
b    5
c    6
Name: 1, dtype: int64
.................
   a  b  c
d  1  2  3
e  4  5  6 

a    1
b    2
c    3
Name: d, dtype: int64
.................
   a  b  c
d  1  2  3
e  4  5  6 

   a  b  c
d  1  2  3
e  4  5  6
.................
   a  b  c
d  1  2  3
e  4  5  6 

b    2
c    3
Name: d, dtype: int64
.................
   a  b  c
d  1  2  3
e  4  5  6 

   c
d  3
e  6
.................
   a  b  c
d  1  2  3
e  4  5  6 

a    4
b    5
c    6
Name: e, dtype: int64
.................
   a  b  c
d  1  2  3
e  4  5  6 

   a  b  c
d  1  2  3
e  4  5  6
.................
   a  b  c
d  1  2  3
e  4  5  6 

   b
d  2
e  5
.................
   a  b  c
0  1  2  3
1  4  5  6 

   b
0  2
1  5 

[[2]
 [5]]
   a  b  c
0  1  2  3
1  4  5  6 

[[1 2 3]
 [4 5 6]] 

[[1 2 3]
 [4 5 6]] 

[[1 2 3]
 [4 5 6]]