为了学习tensorflow,花了几天时间了解numpy和pandas来做前期准备,并写下博客记录自己的成长
前言
如果说tensorflow是机器学习过程中的框架,那numpy&pandas则是他需要使用重要的数据分析工具,虽然tensorflow可以神经网络大部分功能,但是预处理任务,序列化,绘图则需要另外的数据包。
提示:以下是本篇文章正文内容,下面案例可供参考
一、pandas是什么?
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、使用步骤
1.引入库
代码如下(示例):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.读入数据
代码如下(示例):
data = pd.read_csv(
'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
3.创建Series以及访问
series是类似一维数组的结构,具有标签以及数据,并且对应着
import pandas as pd
s = pd.Series(['a','b','c','d'],index = ['q','w','e','r'])
print(s)
print(s[1])
print(s['q'])
series的一些返回值?
import pandas as pd
import numpy as np
s = pd.Series(np.random.random(4))
print(s)
print(s.axes)
print(s.empty)
print(s.values)
创建随机series 并且访问指定位置
import pandas as pd
import numpy as np
s = pd.Series(np.random.random(4))
s.head(3)
s.tail(2)
?
4.Dataframe
dataframe是一种表格型数据结构,既有行标签又有列标签
?同 Series 一样,DataFrame 自带行标签索引,默认为“隐式索引”即从 0 开始依次递增
创建dataframe有多种方法,也可以进行计算
import pandas as pd
import numpy as np
#列表直接创建
data = [['a',10],['b',5]]
df = pd.DataFrame(data,columns=['c','v'])
#字典嵌套列表创建
data2 = {'n':['a','b'],'m':[1,2]}
df2 = pd.DataFrame(data2,index = [1,2])
#series创建
data3 = {'one':pd.Series([1,2,3],index = ['a','b','c']),'two':pd.Series([4,5,6],index = ['a','b','c'])}
df3 = pd.DataFrame(data3)
print(df3)
print(df2)
print(df)
print(df3['one'])
#添加series
df3['three'] = pd.Series([7,7,7],index = ['a','b','c'])
print(df3)
#列计算
df3['four'] = df3['three'] + df3['two']
print(df3)
#删除列
del df3['three']
print(df3)
#行操作
print(df3.iloc[2])
row1 = pd.DataFrame([[1,2,3]],columns=['one','two','four'])
df3 = df3.append(row1)
print(df3)
df3.drop(0)
合并dataframe以及删除填充
#合并
import numpy as np
import pandas as pd
df1 = pd.DataFrame({'A':['a','b','c'],'B':['a','b','c'],'C':['a','b','c']},index=[1,2,3])
df2 = pd.DataFrame({'A':['a','b','c'],'E':['a','b','c'],'F':['a','b','c']})
df3 = pd.concat([df1,df2],axis=0)
print(pd.concat([df1,df2],axis=0))
print(pd.merge(df1,df2,on = ['A']))
print(df3.fillna(0))
print(df3.dropna())
?
总结
以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
|