二维数据结构:DataFrame对象
创建DataFrame对象
"""
pandas.DataFrame( data, index, columns, dtype, copy)
data 支持多种数据类型,如:ndarray,series,map,lists,dict,constant和另一个DataFrame。
index 行标签,如果没有传递索引值,默认值为0,1,2,3,4.......
columns 列标签,如果没有传递索引值,默认值为0,1,2,3,4.......
dtype 每列的数据类型
copy 是否复制数据,默认值为False
"""
创建空DataFrame对象
df = pd.DataFrame()
print (df)
利用列表创建
#利用单层list
x = [1,2,3,4,5,6]
df = pd.DataFrame(x,dtype=np.float32)
print(df)
#利用双层list
x = [
["tom",10],
["jack",20],
["mike",30]
]
#df = pd.DataFrame(x,columns=['name','age'])
#如果是True,那么x数据不改变
df = pd.DataFrame(x,columns=['name','age','sex'],copy=True)
df['age'] = 100
print(df)
print(x)
# 利用数据是字典的列表创建
x = [
{'a':1,'b':2},
{'a':10,'b':20,'c':30}
]
#index 行索引 columns列索引
df1 = pd.DataFrame(x)
print(df1)
df1 = pd.DataFrame(x,index=["first","second"])
print(df1)
#如果没有c,就会默认是nun
df1 = pd.DataFrame(x,index=["first","second"],columns=['a','c'])
print(df1)
利用字典创建
#利用字典创建DataFrame
#a、b是列索引,一定要设置行索引(index),否则报错
x = {'a':1,'b':2}
d1 = pd.DataFrame(x,index=['row1'])
print(d1)
# 字典里面的v是列表类型创建DataFrame
#那么默认列索引是name和age
x = {
'name':['zs','ls','ww','zl'],
'age':[14,15,16,17]
}
d1 = pd.DataFrame(x)
print(d1)
print(d1['age'])
利用Series和字典的结合来创建DataFrame
"""
#只有列索引,没有行索引
s1 = pd.Series([1,2,3,4,5,6])
s2 = pd.Series([100,200,300,400,500])
"""
#列索引是one,two,行索引是index
s1 = pd.Series([1,2,3,4,5,6],index=['a','b','c','d','e','f'])
s2 = pd.Series([100,200,300,400,500],index=['a','b','c','d','e'])
x = {
'one':s1,
'two':s2
}
d1 = pd.DataFrame(x)
print(d1)
列的读取
"""
语法:
df[columns] 查询单列
df[[columns] ] 查询多列
查询出一列和一列都会进行降维DataFrame-----》Series
"""
x = [
["tom",10],
["jack",20],
["mike",30]
]
df = pd.DataFrame(x,columns=['name','age'],index=['row1','row2','row3'])
print(df)
#根据columns获取列数据
print("