23.5.16 使用pandas处理数据表格

文章详细介绍了如何使用Pandas库操作dataframe,包括查看数据信息、删除行或列、处理缺失值、数据切片与分组、保存为Excel文件以及进行独热编码和数据归一化等预处理步骤,这些都是数据科学和机器学习项目中常见的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 1、快速查看dataframe数据信息

2、对dataframe数据进行操作 

1、删除指定行或列

2.删除含空值(缺失值)的行或列

3、dataframe数据切片、分组

4、dataframe数据保存为excel文件

一个dataframe数据保存到一个excel文件的一个表中:

多个dataframe数据保存到一个excel文件的不同表中:

5、独热编码:

6、归一化


 1、快速查看dataframe数据信息

data = pd.read_excel('temper.xlsx')  #读取excel文件数据到data
df = pd.DataFrame(data)   #将data中的数据转变成DataFrame数据结构
#注:在进行人工智能机器学习时必须转换成ndarray数据结构
print(data.shape)     #查看数据结构
print(data.head())    #查看前5行数据
print(data.tail(3))   #查看后3行数据
print(data.index)    #查看行索引名
print(data.columns)  #查看列名
df['day'] = df['avg']   #复制一列数据
del df['day']         #删除一列数据
df['day'] = da['day'].shift(-1)  #-1表示向将day列数据上移动1格,2表示向下移动2格

2、对dataframe数据进行操作 

1、删除指定行或列

DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)

 参数含义:

  • labels:要删除的行或列,用列表给出
  • axis:默认为0,指要删除的是行,删除列时需指定axis为1
  • index :直接指定要删除的行,删除多行可以使用列表作为参数
  • columns:直接指定要删除的列,删除多列可以使用列表作为参数
  • inplace: 默认为False,该删除操作不改变原数据;inplace = True时,改变原数据

1.2、总结

  1. 通过参数labels和axis 来指定
  2. 通过参数index或者columns来指定

原文链接:https://blog.youkuaiyun.com/m0_45210226/article/details/108942015

2.删除含空值(缺失值)的行或列

df.dropna()   # 删除包含缺失值的行或列
df.fillna(0)  # 将缺失值替换为指定的值
df.replace('old_value', 'new_value')  # 将指定值替换为新值 
df.duplicated()  # 检查是否有重复的数据
df.drop_duplicates()  # 删除重复的数据

3、dataframe数据切片、分组

#去除空数据之数据切片
new_df = df[0:56]  
new_df = df[0:-2]
#使用groupby分组
df_sex = df.groupby('sex') #将性别列中男女分类成两个表格
print(df_sex.head(1))     #打印每组的第一行数据
df_boy = df[df['sex']=='男']  #将sex列中的男生分开出来

4、dataframe数据保存为excel文件

一个dataframe数据保存到一个excel文件的一个表中:

df_boy.to_excel('D:/python/保存的路径/保存的数据.xlsx') 
df_boy.to_excel('D:/python/保存的路径/保存的数据.xlsx',index=False)   #index为是否保存索引
df_boy.to_excel('D:/python/保存的路径/保存的数据.xlsx',sheet_name='工作表名字')  #sheet_name为修改工作表sheet的名称

多个dataframe数据保存到一个excel文件的不同表中:

with pd.ExcelWriter('D:/python/保存的路径/保存的数据.xlsx') as baocun
    df_boy.to_excel(baocun,sheet_name='第1个表')
    df_girl.to_excel(baocun,sheet_name='第2个表')

5、独热编码:

将dataframe数据中的字符串数据独热编码为可以使用来进行机器学习的数值

features = pd.get_dummies(features) #直接使用pandas的get_dummies进行独热编码

6、归一化

机器学习时,dataframe数据中每列的数值大小范围不一样(有的数值很小、几十,有的数值很大、几百),为了使数值预测的更准确,所以要进行归一化(即将所有数值都转化成[0,1]或者[-1,1]直间的数)

参考:

https://blog.youkuaiyun.com/weixin_43921949/article/details/126822034?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168423147216800227488799%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168423147216800227488799&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-126822034-null-null.142^v87^insert_down28v1,239^v2^insert_chatgpt&utm_term=%E5%BD%92%E4%B8%80%E5%8C%96&spm=1018.2226.3001.4187https://blog.youkuaiyun.com/weixin_43921949/article/details/126822034?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168423147216800227488799%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168423147216800227488799&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-126822034-null-null.142%5Ev87%5Einsert_down28v1,239%5Ev2%5Einsert_chatgpt&utm_term=%E5%BD%92%E4%B8%80%E5%8C%96&spm=1018.2226.3001.4187

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值