pandas复习
文件操作
对csv文件的读取
1
| fr=read_csv(filename,header=None,names=None);
|
names就是每一列的名字,定义为None就会没有给他初始名字,那么每一行列的初始值就是从0开始的数字。
也可以初始化一个字符串列表,然后names=这个列表就可以有初始名字了
如果不打后面那两个东西的话,那么检索值就是csv文件中的东西
建立一个csv文件
1
| dataSet.to_csv("xxx.csv",index=False)
|
index表示要不要在行前面加1,2,3…
查看
行
1 2 3 4 5
| dataSet.head() dataSet.head(x) dataSet.tail() 和dataSet.tail(x) dataSet[x:y] dataSet.shape[0]
|
列
1 2 3 4 5 6
| dataSet[x] dataSet[x][a:b] dataSet[x].str[:y] dataSet.shape[1] dataSet[列名] dataSet[[列名1,列名2]]
|
其他
iloc
1 2 3 4 5
| dataSet.iloc[x] dataSet.iloc[x,:] dataSet.iloc['index'] dataSet.iloc[x,y] str(dataSet.iloc[x,i])=='nan'
|
loc
1
| dataSet.loc[(dataSet[inx]> Q3 + 1.5 * IQR),inx]=None
|
loc和iloc类似,只是维度可以用检索值表示
at和ix
和上面两个类似,不过at好像只能查询。
而ix,如果在python里面用了ix,pycharm会报错说:强烈建议不要用ix
以上都可以用切片操作
info
describe
.describe可以在上面“查看”的返回后加,可以统计count(总数),unique(类别),top(出现最多的类别),freq(出现最多的频率)
不过describe只会竖着统计
count
1 2
| dataSet[x:y].count() dataSet.count()
|
value_counts()
1 2
| dataSetO['Survived'].value_counts('1.0') #返回1.0出现的频率 dataSetO['Survived'].value_counts('1.0') #返回1.0出现的次数
|
isnull()、notnull()
给每个位置判断是不是缺失值,如果是返回True
keys()
返回列的检索值
运算
1 2 3 4 5 6
| dataSet.mean():返回所有列的均值 dataSet.corr():返回列与列之间的相关系数 dataSet.max():返回每一列的最大值 dataSet.min():返回每一列的最小值 dataSet.median():返回每一列的中位数 dataSet.std():返回每一列的标准差
|
操作
to_frame()
将series变为frame
shift
行列的合并
1 2 3
| data=dataSet.append(testSet) data=concat([dataSet,testSet],axis=1) dataSet.index=date_range('2019/10/29',periods=dataSet.shape[0])
|
丢弃
1 2 3
| dataSet.drop("index"或序号,axis=0或1)
dataSet.dropna(axis=0或1,how="any"或"all",inplace="True"或"False")
|
改名或index
1 2
| dataSet.columns=['a','b','c','d'] dataSet.reindex(range(dataSet.shape[0]))
|
排序
1 2 3
| data=dataSet.sort_values(1) data=dataSet.sort_values(1,ascending=False) data=dataSet.sort_values([1,2],ascending=[True,False])
|
groupby
1 2
| data=dataSet.groupby(1) data=dataSet.groupby([1,2])
|
groupby对象能干什么
可以求和,求最大值等等
