python调用pandas进行分析


在这里插入图片描述
在这里插入图片描述

Series索引,创建

import pandas as pd
# 方式一
# pd.Series带标签的数组,index传递索引
t1=pd.Series([1,2,3,4,2,2],index=list('abcdef'))
print(t1)
print('*'*100)
# 方式二
tem_dict={'name':'3','age':30,'tel':10010}
t2=pd.Series(tem_dict)
print(t2)
# 变换数据类型
print(t2.astype('float'))
# 取值,方法一索引来取
print(t2['age'])
# 取值,方法二位置来取
print(t2[1])
# 取连续多行
print(t2[:2])
print('*'*100)
# 取不连续行
print(t2[[1,2]])
print(t2[['age','name']])
print('*'*100)
# 布尔索引
print(t1[t1>2])
print('*'*100)
# 取索引
print(t1.index)
print('*'*100)
# list强制类型转行
print(list(t1.index))
# 取前两个
print(list(t1.index)[:2])
# 可遍历
for i in t1.index:
    print(i)
print('*'*100)
#获取长度
print(len(t1.index))
# values
print(t1.values)




DataFrame描述信息

import pandas as pd
import numpy as np

print(pd.DataFrame(np.arange(12).reshape(3,4)))
# index指定行索引,columns指定列索引
print(pd.DataFrame(np.arange(12).reshape(3,4),index=list('abc'),columns=list('wxyz')))
d1={'tel':['130','111'],'name':['lj','ljm']}
t2=pd.DataFrame(d1)
print(t2)
# 行索引
print(t2.index)
# 列索引
print(t2.columns)
# 取值
print(t2.values)
# 形状
print(t2.shape)
# 列数据类型
print(t2.dtypes)
# 数据纬度
print(t2.ndim)

DataFrame索引

import pandas as pd
import numpy as np

t3=pd.DataFrame(np.arange(12).reshape(3,4),index=list('abc'),columns=list('wxyz'))
print(t3)
print(t3.loc['a','z'])
# 取整行
# 方法一
print(t3.loc['a'])
# 方法2
print(t3.loc['a',:])
# 取整列
print(t3.loc[:,'y'])
# 取多行
print(t3.loc[['a','c'],:])
# 取多列
print(t3.loc[:,['y','z']])
# 按位置取某一行
print(t3.iloc[1])
print(t3.iloc[1,:])
# 按位置取某一列
print(t3.iloc[:,1])
# 按位置取多列
print(t3.iloc[:,[1,2]])
# 按位置取多行多列
print(t3.iloc[1:,:1])


布尔索引+缺失值填充

import pandas as pd
import numpy as np

t3=pd.DataFrame(np.arange(12).reshape(3,4),index=list('abc'),columns=list('wxyz'))

# 判断是否为nan
print(pd.notnull(t3))
t3.iloc[[1,2],[1,2]]=np.nan
print(t3)
print('*'*100)
# 筛选x那一列没有nan的行,列上的筛选是行的坐标
print(t3[pd.notnull(t3['x'])])
print('*'*100)
# 删除nan的行,how默认为any,有nan就删除,可以改为all全部为nan时才删除
print(t3.dropna(axis=0,how='any'))
# 填充nan
print(t3.fillna(0))
# 填充nan,填充为均值
print(t3.fillna(t3.mean()))
print('*'*100)
# 填充x列的nan,填充为x列的均值
print(t3['x'].fillna(t3['x'].mean()))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值