python如何从一个dataframe提取相应的行组成一个新的dataframe_Python之pandas 基础篇...

Python之pandas 基础篇

以下语句是在pycharm中进行演示,复制到pycharm中运行可直接查看运行结果

#pandas 的数据结构介绍

#1.Series(由一组数据,各种Numpy数据类型)和一组索引组成:

import pandas as pd

import numpy as np

obj=pd.Series([4,7,-5,3])

print(obj)

#1.1Values和index属性:

print(obj.values)

print(obj.index)

#1.2给所创建的Series带有一个可以对各个数据点进行标记的索引:

obj2=pd.Series([4,7,-5,3],index=["d","b","a","c"])

print(obj2)

#与普通Numpy数组相比,可以通过索引的方式选取Series中的单个或一组数值

print(obj2["a"])

print(obj2[["c","a","d"]])

#可将Series看成时一个定长的有序字典,它是在索引值到数据值的一个映射(它可以用在许多原本需要字典参数的函数中),可通过字典直接创建

print('b'in obj2)

sdate={"ohio":3500,"Texas":7100,"Utah":500}

obj3=pd.Series(sdate)

print(obj3)

sdates=["calnia","ohie","orange"]

obj4=pd.Series(obj3,index=sdates)

print(obj4)

#如果只传入一个字典,则Series中的索引就是原字典中的键,Series最重要的一个功能是在算运算中自动对齐不同索引的数据

print(obj3)

print(obj4)

print(obj3+obj4)

#Series对象本身及其索引都有一name属性

obj4.name="population"

obj4.index.name="state"

print(obj4)

#Series的索引可以通过赋值的方式就地修改:

obj.index=["Bob","Steve","Jeff","Ryya"]

print(obj)

#2.DataFranme 是一个表格型的数据结构,既有行索引也有列索引.DataFrame中面向行和列的操作基本是平衡的。DataFrame的数据是以一个或多个二维快

#存放的,用层次化索引,将其表示为更高维度的数据,构建numpy,直接传入一个由等长列表或Numpy组成的字典

data={"state":["ohio","ohio","nevada","nebada"]}

data={"state":["ohio","ohio","ohio","nevada","nebada"],"year":[2000,2001,2002,2001,2002], "pop":[1.5,1.7,3.6,2.4,2.9]}

print(pd.DataFrame(dwata))

#2.1和Series一样,如果传入的列载数据中找不到,就会产生NA值

frame2=pd.DataFrame(data,columns=["year","state","pop","debt"],

index=["one","two","three","four","five"])

print(frame2)

print(frame2.columns)

#2.2可以通过赋值的方式进行修改

frame2["debt"]=[16.5,12,13,14,12]

print(frame2)

#2.3通过类似字典标记的方式或属性的方式,可以将DataFrame 的列获取为一个Series

print(frame2["state"])

print(frame2.state)

#2.4行也可以通过位置或名称的方式进行获取,比如用索引字段ix,将列表或者数组赋值给某一个列时,其长度必须跟DataFrame的长度相匹配。如果赋值的是一个Series,就会精确匹配Dataframe的索引,所有的空位都将被填上缺失值

val=pd.Series([-1.2,-1.5,-1.7],index=["two","four","five"])

frame2["debt"]=val

print(frame2)

print(frame2.columns)

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值