import numpy as np
import pandas as pd
"""
DataFrame:
既有行标签 也有列标签
每一列的标签值允许不同的数据类型
表格型数据结构
可以对行和列进行运算
"""
data = [1,2,3,4,5]
df = pd.DataFrame(data)
print("dataFrame :")
print(df)
data = [['zky',1],['zky1',2],['zky2',3]]
df = pd.DataFrame(data,columns=['Name','Age'],dtype=float)
#自动识别 匹配可以设置的数据类型
#但只能通过dtype的方法设置一个
print(df)
print("使用字典的形式创建dataframe")
data = [{'a':1,'b':2},{'a':3,'b':4,'c':5}]
df = pd.DataFrame(data)
print('All:\n',df)#空数据显示为NaN
df = pd.DataFrame(data, index=['first','second'],columns=['a','b'])
print('只显示两列:\n',df)
#7.Series创建DataFrame对象
#解决不同列不同数据类型的写入、
print('7.Series创建DataFrame对象')
d = {'字符串' : pd.Series([1,2,3],index=['first','second','third'],dtype=str),
'整数型' : pd.Series([1,2,3,4],index=['first','second','third','forth'],dtype=int),
'浮点型': pd.Series([2,3,2,1],index=['first','second','third','forth'],dtype=float),
}
df = pd.DataFrame(d)
print(type(np.NaN))#NaN是附点类型的 (如果有空值 就会把这一列的值识别为浮点类型的数据)
print(df)
#字典对应的值是列表
print('字典对应的值是列表')
data = {'Name':['z1','z2','z3'],'Age':[10,20,30]}
df = pd.DataFrame(data)
print(df)
"""
DataFrame创建 总结
列表出发:
1.列表嵌套列表 [['zky',1],['zky1',2],['zky2',3]]
—— 使用默认列标签
列表嵌套字典 [{'a':1,'b':2},{'a':3,'b':4,'c':5}]
——使用字典的key作为列标签
字典出发:————>表示一列一列的数据
字典对应的值是列表 : 'Name':['z1','z2','z3'],'Age':[10,20,30]
——行使用默认标签
字典对应的值是Series :
d = {'字符串' : pd.Series([1,2,3],dtype=str),
'整数型' : pd.Series([1,2,3,4],dtype=int),
'浮点型': pd.Series([2,3,2,1],dtype=float),
}
————>行和列都是设置的标签 并且还可以指定列的数据类型
"""
# 试着转换dataframe
csv_1 = pd.read_csv(r'E:\tasseel结果\PCA_TEST.csv.txt')
print(csv_1)
#查看有哪些列
print('*'*100)
print(csv_1.columns)
print('*'*100)
# 查看数据信息
print(csv_1.info())
print('*'*100)
# 查看获取指定列的数据
print(csv_1['PC1'])
print('*'*100)
# 获取指定行与列
#类似于切片
data = csv_1.iloc[:,1:3]
print(data)
print('*'*100)
# 将某一列设置为新的Index索引值
data = csv_1.set_index('Taxa')
print(data)
print('*'*100)
#只要某列的数据
data = csv_1[['Taxa','PC1']]
print(data)
print('*'*100)
# 两个数据上下拼接
data1= csv_1.iloc[0:2]
print(data1)
print('*'*100)
data2= csv_1.iloc[3:5]
print(data2)
print('*'*100)
data_new = pd.concat([data1,data2])
print(data_new)
E:\tasseel结果\PCA_TEST.csv.txt
Taxa,PC1,PC2,PC3,PC4,PC5
SCL001,22.719337,-6.1910715,-0.11996821,12.938641,-3.5121782
SCL002,39.809433,0.6084258,-7.7145596,1.4200678,-16.046213
SCL003,-24.6501,-21.305935,-20.230577,-21.507923,13.39381
SCL004,12.004822,-10.2427845,-1.5421106,-2.836637,18.68067
SCL005,25.421886,-0.2529501,1.5120205,0.33780688,-2.8168879
SCL006,25.732372,2.1995308,-5.848174,2.1736784,-5.008344