Pandas案例1

 
import pandas as pd

In [2]:

#创建DataFrame
# pd.Series(data=[12,2,3])
pd.Series(data=[12,2,3],index=[1,3,5])

Out[2]:

1    12
3     2
5     3
dtype: int64

In [3]:

inf={"11":"gg","33":"rr"}
data=pd.Series(inf)
# data.values
# data[1]
# data.index
data+"mm"

Out[3]:

11    ggmm
33    rrmm
dtype: object

In [11]:

#DataFrame
# df=pd.DataFrame([[1,3,6],[7,9,3]])
df=pd.DataFrame(data=([[1,3,6],[7,9,3]]),index=("xiao","mgf"),columns=("语文","数学","yield"))
df

Out[11]:

语文数学yield
xiao136
mgf793

In [12]:

# df.数学
df["数学"]
df.index
df.columns
df.values

Out[12]:

array([[1, 3, 6],
       [7, 9, 3]], dtype=int64)

In [13]:

#添加  删除
df["历史"]=["33","44"]
df

Out[13]:

语文数学yield历史
xiao13633
mgf79344

In [14]:

del df["yield"]
df

Out[14]:

语文数学历史
xiao1333
mgf7944

In [15]:

#索引只能整体设置,不能单独设置
df.index=["小红","小马"]
df

Out[15]:

语文数学历史
小红1333
小马7944

In [16]:

#int64index
pd.DataFrame(data=[2,3,6],index=[6,7,8]).index

Out[16]:

Int64Index([6, 7, 8], dtype='int64')

In [17]:

#multiIndex 层次化索引
dd=pd.DataFrame({"year":[2021,2022,2023],"moth":[12,11,3],"date":[5,7,9]}
               )
dd

Out[17]:

datemothyear
05122021
17112022
2932023

In [18]:

dd.set_index(["year","date"])

Out[18]:

moth
yeardate
2021512
2022711
202393

In [19]:

##重置索引,
ser_obj=pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])
ser_obj

Out[19]:

a    1
b    2
c    3
d    4
e    5
dtype: int64

In [20]:

ser_obj.reindex(['a','b','c','r'])

Out[20]:

a    1.0
b    2.0
c    3.0
r    NaN
dtype: float64

In [21]:

ser_obj.reindex(['a','b','c','r'],fill_value=10)

Out[21]:

a     1
b     2
c     3
r    10
dtype: int64

In [35]:

ser_re=pd.Series([2,3,5,6],index=[0,2,4,6])
ser_re

Out[35]:

0    2
2    3
4    5
6    6
dtype: int64

In [23]:

# ser_re.reindex(range(4),method="ffill")#前置填充
ser_re.reindex(range(4),method="bfill")#后置填充

Out[23]:

0    2
1    3
2    3
3    5
dtype: int64

In [47]:

#索引的操作
ser_obj=pd.Series([2,3,4,6],index=['a','b','c','d'])
# ser_obj[1]
# ser_obj['c']
#切片
# ser_obj[2:4]
ser_obj[[2,3]]

Out[47]:

c    4
d    6
dtype: int64

In [48]:

# ser_obj['b':'d']
ser_obj[['b','d']]

Out[48]:

b    3
d    6
dtype: int64

In [49]:

#bool索引
ser_obj>2

Out[49]:

a    False
b     True
c     True
d     True
dtype: bool

In [50]:

ser_obj[ser_obj>2]

Out[50]:

b    3
c    4
d    6
dtype: int64

In [52]:

#DataFrame索引方式
import numpy as np

In [53]:

data_ob=pd.DataFrame(np.arange(12).reshape((3,4)),columns=['a','b','c','d'])
data_ob

Out[53]:

abcd
00123
14567
2891011

In [61]:

# data_ob['b']
data_ob[['a','b']]  #只针对列,行不行,如data_ob[2]

Out[61]:

ab
001
145
289

In [57]:

data_ob[:2]

Out[57]:

abcd
00123
14567

In [59]:

data_ob[:2][['a','b']]

Out[59]:

ab
001
145

In [67]:

#使用loc  iloc完成先行后列
# data_ob.loc[:,['a','c']]
data_ob.loc[:,'b':'d']

Out[67]:

bcd
0123
1567
291011

In [68]:

data_ob.iloc[:1,:2]

Out[68]:

ab
001

In [ ]:


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值