pandas 常用方法

lambda的使用

data_1[6].apply(lambda x: x)
# if 使用方法
data_1[6].apply(lambda x: x if x == 1 else (x-=1 if x == 2 else x))
# 可以搭配函数使用
def index(x):
    if x == 1:
        return x
    elif x == 2:
        return x-=1
    else:
        return x
data_1[6].apply(lambda x: index(x))

根据列值选取

# 选取第一列为1的所有行
data = data[(data[1] == 1)]
# 选取第一列和第二列为2的所有行
data = data[(data[1] == 2) & (data[2] == 2)]
# 选取第一列或第二列为3的所有行
data = data[(data[1] == 3) | (data[2] == 3)]

选取列中需要的值

# 选取第一列为1或2或3的所有行
data = data[data[1].isin([1,2,3])]

统计列的所有类型和数量

# 统计第1列的所有类型和数量
reg_data[1].value_counts()
normalize=True  # 统计占用的百分比

模糊查询

data = data[data['title'].str.contains(r".*?内容.*")]

根据列值进行合并(交集)

pd.concat([zi_data, mu_data], axis=1, join='inner')

列与列之间的运算

data['result'] = data.apply(lambda x: float('%.4f' % (x[0] / x[1])), axis=1)

合并

df_inner = pd.merge(df, df1,how='inner', on=[''])  # 交集
df_outer = pd.merge(df, df1,how='outer', on=[''])  # 并集

显示省略号内容

#显示所有列
pd.set_option('display.max_columns', None)
#显示所有行
pd.set_option('display.max_rows', None)

空值

all_data[(all_data['title'].isnull())]  # 提取异常值数据
all_data.fillna('', inplace=True)  # 将空值替换为指定内容
all_data.dropna()  # 删除空值那一行内容
# dropna中有两个参数:axis删除行还是列,0代表行,1代表列,how所有值为空还是只要有空值存在,all代表所有值为空值才可以删除,any代表有空值就可以删除

均值

all_data['num'].mean()

标准差

all_data['num'].std()

中位数

all_data['num'].median()

下四分位数

all_data['num'].quantile(q=0.25)  # 切换到上四分位数为0.75

偏度

all_data['num'].skew()
# 如果为负偏,均值较小,大部分数比均值大
# 如果为正数,均值较大,大部分数比均值小

峰度

all_data['num'].kurt()

数据分布情况

np.histogram(all_data['num'], bins=np.arange(0.0, 1.1, 0.1))
# 会返回两个列表第一个列表对应第二个的数量

where 方法

all_data['num'].where(all_data['num']='需要匹配内容')
# 选取符合调价的数据和sql语句的where差不多

group by 方法

all_data.groupby('按照那一个属性进行分类').mean()
# 根据需要按照属性那一列分组之后,内容填充为平均数,最大值等一些数值类的值,只能对数值类的属性进行分组,字符串或其他类型的直接去除掉了,

排序

data.sort_values('属性名称', inplace=True)
# True 为正序
# Felse 是倒叙

numpy

生成随机数列表

np.linspace(0, 14, 100)
# 随机数生成,根据起始值和结束值生成指定列表数量的浮点数,会依次增大
# 第一个参数起始值
# 第二个参数结束值
# 第三个参数列表数量

列表每个加响应的值,再减去固定的值

x = np.linspace(0, 14, 100)
x + 1 * .5
先每个固定加1然后再减去0.5
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值