Pandas高阶篇六(数据的过滤和筛选)

from pandas import Series,DataFrame
import pandas as pd
import numpy as np
from numpy import nan as NA 
from matplotlib import pyplot as plt
np.random.seed(12345)
data = np.random.randn(1000,4)  #1000行4列
df = DataFrame(data)  
df.describe()

打印结果:

Pandas高阶篇六(数据的过滤和筛选)_第1张图片

#获取数据的第四列
col = df[3]
#筛选出第四列中绝对值>3的值
col[np.abs(col)>3]
#打印结果:
97     3.927528
305   -3.399312
400   -3.745356
Name: 3, dtype: float64

#查找出数据集中任意某一列的值出现大于3的行数据
df[(np.abs(df)>3).any(1)]

打印结果:

Pandas高阶篇六(数据的过滤和筛选)_第2张图片

#将所有绝对值大于3的整数设置3,绝对值大于3的负数,设置为-3
#获取数据的符号
df[np.abs(df)>3] = np.sign(df)*3
df   #原数据大于3的变成3,小于-3的变成-3

打印结果:

Pandas高阶篇六(数据的过滤和筛选)_第3张图片

#np.random.seed(number)  number是生成随机数的种子
# np.random.randn()  #默认生成随机数的种子数是当前时间的时间戳
#定义一个种子数,种子数只能用一次
np.random.seed(34567)
np.random.rand()
#打印结果:
0.542289024619481

#种子数一样,产生的随机数也一样
np.random.seed(34567)
np.random.rand()

#打印结果:
0.542289024619481

你可能感兴趣的:(pandas)