Pandas学习

一、Series一维带标签数组

1.Series数组创建

首先要导入pandas包:pip install pandas

①直接用series创建

a = pd.Series([1, 2, 3, 4, 5]) # value is in the Series
print(a)

输出结果:
0    1
1    2
2    3
3    4
4    5
dtype: int64

②同时创建标签index值

# The index is abcde, the correspond of value is 12345
b = pd.Series([1,2,3,4,5], index = list("abcde"))
print(b)

输出结果:
a    1
b    2
c    3
d    4
e    5
dtype: int64

③通过字典进行创建

#通过字典进行创建
c = {"name": "Santa", "年龄":"18岁", "性别":"女"}
d = pd.Series(c)
print(d)

输出结果:
name     Santa
年龄      18岁
性别        女
dtype: object

④对数组的数据结构进行修改

print(a.astype(float))

输出结果;
0    1.0
1    2.0
2    3.0
3    4.0
4    5.0
dtype: float64

二、索引

1.通过index进行索引

print(d["name"]) #Santa
print(d[2]) #女

2.通过index进行一串索引(以0为起点)

e = list(d.index)[:2]
print(e)  

输出:
 ['name', '年龄']

3.通过[[]]进行索引

e1 = d[["name","性别"]]
print(e1)

输出结果:
name    Santa
性别       女

4.通过values进行索引(索引1就是第一个数字(以1为起点))

e2 = d.values
print(e2)

 输出结果:
 ['Santa' '18岁' '女']

5.通过values进行索引多个量

e3 = list(d.values)[:1]
print(e3) #['Santa']
print(list(d.values)[:2]) # ['Santa', '18岁']

三、二维数组DateFrame的创建

1.确定一行的数据,进行赋值(可以少赋值)

t1 = [{"name":"张山", "age":19, "tel":"10088"},
      {"name":"李四", "age":29, "tel":"14792"},
      {"name":"王五", "age":25, "tel":"10637"}]
data1 = pd.DataFrame(t1)
print(data1)

输出结果:
  name  age    tel
0   张山   19  10088
1   李四   29  14792
2   王五   25  10637

2.先确定一列的值,再进行赋值

t2 = {"name":["张山", "李四", "王五"], 
      "age":[19,30,28], 
      "tel":[10392, 38922, 43829]}
data2 = pd.DataFrame(t2)
print(data2)

输出结果:
  name  age    tel
0   张山   19  10392
1   李四   30  38922
2   王五   28  43829

四、基本的索引

print("data2.index:\n",data2.index) # 行
print("data2.columns:\n",data2.columns) # 列
print("data2.values:\n",data2.values) # 值
print("data2.astype:\n",data2.astype) # 类型
print("data2.shape:\n",data2.shape) # 几行几列
print("data2.ndim:\n",data2.ndim) # 维度

样例输出如下

data2.index:
 RangeIndex(start=0, stop=3, step=1)
 
data2.columns:
 Index(['name', 'age', 'tel'], dtype='object')
 
data2.values:
 [['张山' 19 10392]
 ['李四' 30 38922]
 ['王五' 28 43829]]
 
data2.astype:
 <bound method NDFrame.astype of   name  age    tel
0   张山   19  10392
1   李四   30  38922
2   王五   28  43829>

data2.shape:
 (3, 3)
 
data2.ndim:
 2

五、排列

默认是升序排列

df = data2.sort_values(by="age") 

修改成降序排列(CTRL+B 显示原码,然后直接找到对应位置进行重新定义)

df = data2.sort_values(by="age", ascending=False) # 降序排列

六、取行或列

取前几行

df = df.head(2) # 取前2行

直接取行或者列
方括号放入数字,对行操作;放入字符串,对列进行操作

# 方括号放入数字,对行操作;放入字符串,对列进行操作
df1 = data2[:1]
df2 = data2["name"]
df3 = data2[:1]["name"]

七、loc与iloc

loc - 通过标签进行索引
iloc - 通过数字进行索引

df4 = data2.loc[:1,["name"]] # 索引第1,2行的name
print(df4)
df5 = data2.iloc[:1,:1] #索引第1,2行与第1,2列的数据

计算长度 - len()

df5 = data2["name"].str.len() # 先转换成字符串,后变成长度转换
print(df5)

分割

df6 = data2["name"].str.split("/")

原地修改数组

# dropna - 将所有的nan删除
# inplace - 原地修改数组
df7 = data2.dropna(axis=0, inplace=True)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值