pandas常用函数


一、pandas是什么?

1、Pandas是Python的一个数据分析包,该工具为解决数据分析任务而创建。
2、Pandas纳入大量库和标准数据模型,提供高效的操作数据集所需的工具。
3、Pandas提供大量能使我们快速便捷地处理数据的函数和方法。
4、Pandas是字典形式,基于NumPy创建,让NumPy为中心的应用变得更加简单。

二、常用函数

1.读入csv数据

import pandas as pd
pd.read_csv("girl.csv")

read.csv()中有很多其他参数可以选择。

pd.read_csv('girl.csv', sep='\t')#sep分隔符
pd.read_csv('girl.csv',delim_whitespace=True)#分割所有空白字符

还有header和name参数

#当header和name都没赋值时,header为0,即选取文件的第一行作为表头

# 不指定names,指定header为1,则选取第二行当做表头,第二行下面为数据
pd.read_csv('girl.csv',delim_whitespace=True, header=1)

#指定name,不指定header,则把name当作表头,csv中的所有当数据
pd.read_csv('girl.csv', delim_whitespace=True
, names=["编号", "姓名", "地址", "日期"])
#可以看到,names适用于没有表头的情况,

pd.read_csv('girl.csv', delim_whitespace=True, 
names=["编号", "姓名", "地址", "日期"], header=0)
#可以实现替换表头
#总之,必须有表头。

2.数据处理

2.1 iloc()

对dataframe类型数据进行处理:

ABCD
a0.5600940.3526860.9541000.926277
b0.5637280.3355170.2329020.973932
c0.4821550.9766180.5654620.44510
d0.477140.9333530.2917640.986668

iloc 基于行索引和列索引(index,columns) 都是从 0 开始
如果数据的行标签和列标签名字太长或不容易记,则用 iloc 很方便,只需记标签对应的索引即可

### .loc先行后列,中间用逗号(,)分割,例如取 a 和 A 对应的数据
frame.iloc[0,0]
#结果:0.56009394013943303
### 取前两行对应数据
frame.iloc[0:2,:]
ABCD
a0.5600940.3526860.9541000.926277
b0.5637280.3355170.2329020.973932
### 取前两列对应数据
frame.iloc[:,0:2]
AB
a0.5600940.352686
b0.5637280.335517
c0.4821550.976618
d0.477140.933353
### 上面的例子取的都是连续的行和列,若取第一行和第四行、第一列和第四列对应的数据,则
frame.iloc[[0,3],[0,3]]

2.2、创建dataframe格式数据

有很多种方式可以获得df格式的数据。我认为主要分为三大类:
1:直接从文件中读取得到df数据
2:先创建一个空的,再往里赋值
3:从其他格式转换为df格式(都是使用pd.DataFrame函数)
这里面我日常使用中第一和第三种方式最为常用。第一种可以往上翻看读取数据。
这里主要介绍下第三种


2.2.1 list转df
import pandas as pd
new_lists =[ [1,2,3,4,5], [7,8,9,10,11], {1,2,3,4,5}]
df2 =pd.DataFrame(new_lists, columns = ["image","quality","type","Retinopathy_grade","Risk_of_macular_edema"])
print(df2)
  image  quality  type  Retinopathy_grade  Risk_of_macular_edema
0      1        2     3                  4                      5
1      7        8     9                 10                     11
2      1        2     3                  4                      5

原来列表里有集合也不影响。
注意:list的列数要和你自己设置的列数一致,不然会报错。
在这里插入图片描述
也可以指定每行index = [ ‘i.’, ‘ii.’,“iii” ]

df2 =pd.DataFrame(new_lists, columns = 
["image","quality","type","Retinopathy_grade","Risk_of_macular_edema"],
index = [ 'i.', 'ii.',"iii" ])
     image  quality  type  Retinopathy_grade  Risk_of_macular_edema
i.       1        2     3                  4                      5
ii.      7        8     9                 10                     11
iii      1        2     3                  4                      5

但也要注意行数和lisi的行数要一致不然会报错。


2.2.2 numpy转df
import numpy as np
data_np =np.random.randint(100, size=(4, 3)) 
data_df = pd.DataFrame(data_np)
print(data_df)
   0   1   2
0  70  36  79
1  38  17  29
2  63  45  74
3  21  25   2

3、赋值

今天在对df数据进行重新赋值时使用:

df.iloc[行,列] = a

虽然没有报错,但数据没有改变。要用下面的方法才会正确赋值:

df[,] = a

之后更新

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Brandy_Whisky

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值