pandas中dataframe的索引使用和轉換為array
阿新 • • 發佈:2018-11-10
#!/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]]