python 系列-100条处理dataframe的语句
数据集处理、筛选
import pandas as pd
import numpy as np
dates = pd.date_range('1/1/2000', periods=8)
# 建立一个时间序列,从20000101开始,8个数据
df = pd.DataFrame(np.random.randn(8, 4),index=dates, columns=['A', 'B', 'C', 'D'])
# 随机生成8*4的数组,数据的索引设置为dates,列名为['A', 'B', 'C', 'D']
s = df['A']
# 取出df中名字为”A“的那一列
df.loc[:, ['B', 'A']] = df[['A', 'B']].to_numpy()
# 数据集中的两列数据交换名字
df[:3]
# 取出数据集中的前3行
df.loc['2000-01-01':'2000-01-04']
# 通过索引选择行
df.loc ['2000-01-01':]
# 选择索引“2000-01-01”之后全部的数据
df1 = pd.DataFrame(np.random.randn(6,4),index = list('abcdef'),columns = list('ABCD'))
#生成一个数据集
df1.loc['d':, 'A':'C']
# 选择索引是“d"之后,以及列为”A"到“B"的列
df1.loc['a']
# 选择索引为a的哪一行
df['A'][0] = 111
# 替换数据集中的值
df1.A.loc[lambda s: s > 0]
# 数据集中A列大于0的值取出来
df[df['A'] > 0]
# 筛选数据集中A大于0 的数据
values = ['a', 'b', 1, 3]
df.isin(values)
# 判断df中的值是否在value这个list里面,value可以是list也可以是json
df.where(df < 0, -df