gen一 .良、恶性乳腺癌肿瘤数据预处理(p38)
import pandas as pd
import numpy as np
column_names=['Sample code number','Clump Thickness','Uniformity of Cell Size',
'Uniformity of Cell shape','Marginal Adhesion','Single Epithelial Cell Size',
'Bare Nuclei','Bland Chromatin','Normal Nucleoli','Mitoses','Class']
data=pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-
wisconsin/breast-cancer-wisconsin.data',names=column_names)
data=data.replace(to_replace='?',value=np.nan)
data=data.dropna(how='any')
data.shape
结果:(638,11)
二.函数说明:
dataframe对象的创建、修改、合并https://blog.csdn.net/u014281392/article/details/75331570
import pandas as pd
import numpy as np
创建dataframe
情况一:
df = pd.DataFrame([1, 2, 3, 4, 5], columns=['cols'], index=['a','b','c','d','e'])
print df
cols
a 1
b 2
c 3
d 4
e 5
情况二:
df2 = pd.DataFrame([[1, 2, 3],[4, 5, 6]], columns=['col1','col2','col3'], index=['a','b'])
print df2
col1 col2 col3
a 1 2 3
b 4 5 6
情况三:
df3 = pd.DataFrame(np.array([[1,2],[3,4]]), columns=['col1','col2'], index=['a','b'])
print df3
col1 col2
a 1 2
b 3 4
情况四:
df4 = pd.DataFrame({'col1':[1,3],'col2':[2,4]},index=['a','b'])
print df4
col1 col2
a 1 2
b 3 4
创建DataFrame对象的数据可以为列表,数组和字典,列名和索引为列表对象
基本操作
df2.index
Index(['a', 'b'], dtype='object')
df2.columns
Index(['col1', 'col2', 'col3'], dtype='object')
根据索引查看数据
索引为a这一行的数据
df2.iloc[0] 跟上面的操作等价,一个是根据索引名,一个是根据数字索引访问数据
df2.loc['a']
col1 1
col2 2
col3 3
Name: a, dtype: int64
df2.loc[['a','b']]
col1 col2 col3
a 1 2 3
b 4 5 6
df.loc[df.index[1:3]]
cols
b 2
c 3
print (df2[['col1','col3']])
col1 col3
a 1 3
b 4 6
data.dropna过滤数据https://www.jb51.net/article/143055.htm
注:本段代码对数据的处理就是把丢失的数据删除,但是删除之后位置还在!