基本数据结构操作

维数名称描述
1Series带标签的一维同构数组
2DataFrame带标签的,大小可变的,二维异构表格

DataFrame 是 Series 的容器,Series 则是标量的容器。使用这种方式,可以在容器中以字典的形式插入或删除对象。

df的基本操作

  1. df[col]这样子取得的是列

  2. df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))

  1. df.head(2)

    df.tail(3)

    df.index

    df.column

  2. df.to_numpy()可以转换为numpy

  3. df.describe()可以查看统计信息

  4. df.T转置

  5. df.sort_index(axis=1, ascending=False)按轴排序

  6. df.sort_values(by='B')

选择数据

  1. df['A']选择单列
  2. df[0:3]切片行
  3. 按照标签选择df.loc[]选择一行
  4. df.loc[:, ['A', 'B']]选择多个列
  5. 选择范围就是组合应用上面的过程
  6. df.at[]访问数据和上面的结果一样
  7. df.iloc[]按照索引选择数据
  8. 布尔索引df[df.A > 0]

e.g.操作示范

for col in df.columns:
    series = df[col]
    # do something with series

显示控制

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

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

#设置value的显示长度为100,默认为50
pd.set_option('max_colwidth',100)

常用操作

1. 分组去重复统计

df.groupby('param')['group'].nunique()

2. 去重

data.drop_duplicates(subset=['A','B'],keep='first',inplace=True)

3. 按日期字段分组

import pandas as pd
 
data = pd.read_csv('xxx.csv')
data['index'] = pd.to_datetime(data['index'])
print(data.groupby([data['index'].dt.year, data['index'].dt.month]).mean())
print(data.groupby([data['index'].dt.year, data['index'].dt.month]).last())

4. PANDAS 数据合并与重塑

5. 使用自定义函数处理数据

def equal_word(B,A): # A ->关键词   B->品牌词
    A,B=str(A),str(B)
    
    if B in A :  
        return False  #如果包含,返回False
    else:
        return True  #如果不包含,则返回True
df2=df1[['S_key_word','S_brand']]
df1['bool']=df2.apply(lambda x :equal_word(x['S_brand'] ,x['S_key_word']),axis=1)

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

解决网易163邮箱`Unsafe Login.`错误 下一篇