时隔多天,终于又要开始我的博客生涯了,经过这个月的python数据分析和机器学习,总结了一些经验,同时也收获了一些大佬的优秀博客,感兴趣的可以观看我的收藏夹,废话不多说,直接进入正题。
为了对数据进行分析,首先要了解学习python的熊猫库pandas,下面是一些基础简单的操作方法,python调用方法如下
import pandas as pd
python通过pandas读取csv文件的方法
df= pd.read_csv("xxx.csv")
#输出文件内容前五列
print(df.head())
#输出csv所有内容
print(df)
查看csv某列数据的方法
pandas.read_csv(‘file_name.csv’, usecols = [0,1,2,3])
#简单方法
df["属性列名称"]
pandas删除csv数据某些列的方法
droplabels= ['x_cat4','x_cat5','x_cat8','x_cat9']
data=df.drop(droplabels,axis=1)
pandas对NAN数据清洗的方法
#将表格中含有nan数值的列进行删除,返回非空数据和索引值的Series
df.dropna()
'''
dropna(axis=0,how=’any’,thresh=None),how参数可选的值为any或者all.all仅在切片元素全为NA时才抛弃该行(列)。thresh为整数类型,eg:thresh=3,那么一行当中至少有三个NA值时才将其保留。
'''
data.fillna(0) #将nan替换为0
print(data.fillna(data.mean())) ### 用每列特征的均值填充缺失数据
print(data.fillna(data.median())) ### 用每列特征的中位数填充缺失数据
print(data.fillna(method='bfill')) ### 用相邻后面(back)特征填充前面空值
print(data.fillna(method='pad')) ### 用相邻前面特征填充后面空值
#参考博客:https://blog.csdn.net/qq_21840201/article/details/81008566
pandas对csv文件数据的更改的方法
#更改某列属性数值和类型
df = df[df['涨跌幅']!='None']
df['涨跌幅'] = df['涨跌幅'].astype(np.float64)
df = pd.DataFrame(a, dtype='float') #数据类型转化
#参考链接:http://www.45fan.com/article.php?aid=19070771581800099094144284
#对数据全部遍历读取并更改,参考如下
for i in df.index:
df["id1"][i]=1
pandas的iloc的使用方法和作用
X = df.iloc[:, data.columns != 'label'] # 取出不包括 label其他的列
df.iloc[:3, :2] #使用.iloc ,我们只选择了.iloc的前3行和2列
计算某列元素数量的方法
sum= len(data[data.label == 'BENIGN']) #计算BENIGN的数量
len(df)
pandas对文件进行保存的方法
#df为要保存的数据,xxx.csv为保存的文件
df.to_csv('xxx.csv', index=False, sep=',')
以上是pandas对数据进行处理的简单功能,其中含有一些参考学习的博客,感兴趣的同学可以观看学习。有了这些基础知识,我们才能对数据集进行处理,接下来就是如何使用的问题了,下面讲解简单的套路。
1.首先观察数据,通过代码检测每一列的数据类型再进行考察,检测是否存在NAN值,可以删除该列,也可根据情况进行数值的变动。
2.数据集中可能存在部分列属性为time属性,一般不要直接将该列删除,可通过将其转化为浮点类型
3.字符串类型向数值类型的转换,部分字符串需要进行转换,这个就视情况而定了。
说了这么多,真实情况下也不一定用上,主要是明白数据的处理方法和手段,同时对于数据分析,我也是刚接触不久,现在也还在努力学习。现在将最近自己网上学习到的知识回报给csdn。
最后提一个小小的要求,如果觉得我写的不错的话,可以给我一个赞吗?点关注就更好了,有啥不对的地方也可以在评论区提出,十分感谢你们的参与,希望我们一起进步。