pandas模块-----二维数据结构:DataFrame对象

二维数据结构: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("
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值