美文网首页
Pandas 结构化数据(下)

Pandas 结构化数据(下)

作者: AlexDM | 来源:发表于2017-01-03 16:14 被阅读134次

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

    向下错2位

    s = pd.Series([1,3,5,np.nan,6,8], index=dates).shift(2)

    按索引进行运算

    df.sub(s, axis='index')

    函数的应用

    df.apply(np.cumsum) #累加

    df.apply(lambda x: x.max() - x.min())

    频数统计

    s = pd.Series(np.random.randint(0, 7, size=10))

    s.value_counts()

    字符处理:

    s.str.lower() # 转换为小写

    数据合并 SQL风格

    pd.merge(left, right, on='key')

    追加记录

    df.append(s, ignore_index=True) 如果忽略ignore_index,则会同时添加index列

    **分组常常意味着可能包含以下的几种的操作中一个或多个

    依据一些标准分离数据

    对组单独地应用函数

    将结果合并到一个数据结构中**

    df.groupby('A').sum()

    df.groupby(['A','B']).sum()

    透视表

    pd.pivot_table(df, values='D', index=['A', 'B'], columns=['C'])

    转换成 Categoricals 类型

    df["grade"] = df["raw_grade"].astype("category")

    重命名分类

    df["grade"].cat.categories = ["very good", "good", "very bad"]

    对分类进行重排序,同时加入新的分类。

    df["grade"] = df["grade"].cat.set_categories(["very bad", "bad", "medium", "good", "very good"])

    排序

    df.sort("grade")

    按类别分组统计个数

    df.groupby("grade").size()

    保存到 csv 文件

    df.to_csv('foo.csv')

    从 csv 文件读取数据

    pd.read_csv('foo.csv')

    保存到 excel 文件

    df.to_excel('foo.xlsx', sheet_name='Sheet1')

    读取 excel 文件

    pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])

    相关文章

      网友评论

          本文标题:Pandas 结构化数据(下)

          本文链接:https://www.haomeiwen.com/subject/ltlnvttx.html