python对CSV执行选择、删除数据等各种操作

您所在的位置:网站首页 如何删除没用的文件内容 python对CSV执行选择、删除数据等各种操作

python对CSV执行选择、删除数据等各种操作

2024-07-10 21:43| 来源: 网络整理| 查看: 265

阿惠碎碎念:晕晕乎乎研究生阶段就已经过了大半年了,文献也没读多少。。。咸鱼呐!要改了。在有限的几次实验操作中,我发现用python对CSV文件执行操作还挺常用的。为了方便自己之后查阅,也方便大家参考,特来整理一下,有些我觉得自己说不清,就举例子啦~后续有新内容再补加。

整理的操作包括最基本的读取、保存、选择特定行或列、删除特定行或列、去掉重复数据等。可能存在不足,欢迎批评指正!

读取文件格式如下 在这里插入图片描述

读取文件数据/ pd.read_csv() import pandas as pd #pathname为文件存放位置及文件名称 pathname = 'E:\pycharm\GNRX\data\\train_1.csv' #df数据类型为dataframe df = pd.read_csv(pathname, encoding='gbk') #显示读取的数据的前5行 print(df.head()) #显示读取的数据的前10行 print(df.head(10))

输出结果如图所示 在这里插入图片描述

去除输出结果中的省略号 pd.set_option('display.max_columns', 1000) pd.set_option('display.width', 1000) pd.set_option('display.max_colwidth', 1000) 读取文件前n行数据/nrows = 1000 以n=1000为例 df = pd.read_csv(pathname, nrows = 1000, encoding='gbk') 指定索引读取数据/index_col = u’时间’ 以时间为索引读取数据 df = pd.read_csv('E:\pycharm\GNRX\data\\train_1.csv', index_col = u'时间',encoding = 'gbk') 读取文件某一个或几个属性/df[‘风速’]、df[].id import pandas as pd df = pd.read_csv('E:\pycharm\GNRX\data\\train_1.csv' , encoding='gbk') #读取“风速”这一列,df['风速']为dataframe类型 print(df['风速']) #读取这些属性所代表的的列 df[['辐照度','风速','风向','温度','压强','湿度','小时']]

print(df[‘风速’])

输出结果如图所示 在这里插入图片描述 应用举例:以id为例

df[(df[col] < Q1-outlier_step2) | (df[col] > Q3+outlier_step2)].id 将某一属性的值存在一个list中/df[‘风速’].values 比如将所有风速数据存在一个list中 import pandas as pd df = pd.read_csv('E:\pycharm\GNRX\data\\train_1.csv' , encoding='gbk') print(df['风速'].values)

输出结果为 在这里插入图片描述

保存文件/df.to_csv #filepath为文件保存的位置及文件名,是新创建的文件,不是在原文件上更改 #index=False的含义是保存时不增加新的索引列,没有这句话时新保存的文件会有一列新的索引序号 # sep=','表示使用,分隔需要保存的数据 df.to_csv(filepath, index=False, sep=',',encoding = 'gbk') 获取某一特征为特定取值的行的索引/df[…].index 如获取风速为-0.70754717的数据的索引 #index为Excel中从数据行开始计数的序号,从0开始计数 #比如风速= -0.70754717的索引为0,1...... df[(df['风速'] == -0.70754717 )].index 选择某一特征为特定取值的数据行/df.loc[…] 比如选择id等于1的数据 print(df.loc[df['id'] == 1])

输出结果为 在这里插入图片描述

其他用法举例:

for i in outlier_list: #选择dataframe i 行,col列的值 ,df.loc[i,col] time = df.loc[i,'时间'] #选取“辐照度”的第0-2行数据 df.loc[0:2,'辐照度'] tips = pd.read_csv('E:\pycharm\GNRX\data\\train_1.csv' , encoding='gbk') #计算相关度 result = tips.corr() print(result) #只看实际功率与其他属性的相关度,以下两种写法均可 result1 = result.loc['实际功率'] result2 = result.loc['实际功率', :] 用loc指定某一行赋值 #利用索引index循环赋值, MAE_D为之前步骤计算出的数值 for index in dayindex: df.loc[index,'MAE_D'] = MAE_D 选择特定的行或者列/iloc # 选取第0-2列的整列数据 df.iloc[:, :2] # 选取第2列的整列数据 df.iloc[:, 2] #选取第3列的第0-2行数据 df.iloc[0:2,3]

应用举例:

for i in outlier_list: df.iloc[:, col][i] = (df.iloc[:, col][i + 1] + df.iloc[:, col][i - 1]) / 2 对某一属性的数据整体做操作再赋值给该属性 比如风向数据整体-180 df['风向'] = (df['风向']-180)/180 删除特定行/ df.drop(index) #删除索引为i的整行 df = df.drop(i) #删除实际功率小于等于0的行 df = df.drop(index=df.loc[(df['实际功率']


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3