import numpy as np
dataset_filename = "affinity_dataset.txt"
x = np.loadtxt(dataset_filename)
n_samples, n_features = x.shape
print("this dataset has samples and features".format(n_samples, n_features))
this dataset has 100 samples and 5 features
import pandas as pd
dataset_filename = "affinity_dataset.txt"
xp = pd.read_csv(dataset_filename, delimiter=' ', names=list('abcde'))
print(xp.shape)
檢測一下輸出,(100, 5)
print(x[:5])
print(xp[:5])
print(type(xp['a'][0]))
當每列已有column name時,用 df [ 'a' ] 就能選取出一整列資料。如果你知道column names和index,且兩者都很好輸入,可以選擇 .loc,[[ 0. 0. 1. 1. 1.][ 1. 1. 0. 1. 0.]
[ 1. 0. 1. 1. 0.]
[ 0. 0. 1. 1. 1.]
[ 0. 1. 0. 0. 1.]]
a b c d e
0 0 0 1 1 1
1 1 1 0 1 0
2 1 0 1 1 0
3 0 0 1 1 1
4 0 1 0 0 1
print(xp.loc[0, 'a'], '\n' ,
xp.loc[0:3, ['a', 'b']], '\n' ,
xp.loc[[1, 5], ['b', 'c']])
如果我們嫌column name太長了,輸入不方便,有或者index是一列時間序列,更不好輸入,那就可以選擇 .iloc了。這邊的 i 我覺得代表index,比較好記點。0a b
0 0 0
1 1 1
2 1 0
3 0 0
b c
1 1 0
5 1 0
print(xp.iloc[1,1],'\n',
xp.iloc[0:3, [0,1]],'\n',
xp.iloc[[0, 3, 5], 0:2] )
.ix 的功能就更強大了,它允許我們混合使用下標和名稱進行選取。 可以說它涵蓋了前面所有的用法。基本上把前面的都換成df.ix 都能成功,但是有一點,就是1a b
0 0 0
1 1 1
2 1 0
a b
0 0 0
3 0 0
5 0 1
df.ix [ [ ..1.. ], [..2..] ], 1框內必須統一,必須同時是下標或者名稱,2框也一樣。 btw, 1框是用來指定row,2框是指定column。
pandas批量讀取csv生成dataframe
此方法用來將資料集合並 import pandas as pd import glob import os pathr r d xx xx 批量檔案所在路徑 file sorted glob.glob os.path.join pathr,csv key lambda name int name 8...
pandas讀取資料
導庫 import pandas as pd fpath d 123.csv 讀取資料 book pd.read csv fpath 檢視全部內容 book idusename course01 張三7512 李四8023 王二8334 張華9045 小明7856 小紅7667 小七90 檢視前5行...
Pandas 資料讀取
1.讀取table 讀取普通分隔資料 read table 可以讀取txt,csv import osos.chdir f 首先設定一下讀取的路徑 data1 pd.read table data1.txt delimiter header 0 print data1 data1 pd.read t...