首页 > 其他 > 详细

玩一玩pandas

时间:2019-09-04 00:25:08      阅读:131      评论:0      收藏:0      [点我收藏+]

1. 构造供pandas使用的DataFrame数据

import pandas as pd


lst = [
    ["susan", 25, "male", "北京"],
    ["merry", 36, "female", "杭州"],
    ["jake", 23, "male", "苏州"],
    ["mali", 12, "female", "上海"],
    ["wus", 42, "male", "武汉"],
]

dfcols = ["name", "age", "gender", "live"]


# 只含有列名的空 DataFrame(简称 DF)
df = pd.DataFrame(columns=dfcols)


# 两个 DF上下合并, ignore_index=True: 忽略行索引在原 DF基础上继续增加行索引
df = df.append(pd.DataFrame(data=lst, columns=dfcols), ignore_index=True)

print(df)

技术分享图片

 

 

2. 基本的DF查询数据

df.values           # type: "<class ‘numpy.ndarray‘>"

df.values.tolist()      # type: "<class ‘list‘>"

df["name"]           # 获取到name 这一列的值

df.loc["index的行索引"]   # 显式索引, 获取到行索引为xx的这一行数据

df.iloc[1]           # 隐式索引, 获取到第2行的数据

df.loc[2, "name"]       # 第2行数据的 name 值

df.loc[0:3]            # 第1行 到 第3行的数据

3. DF添加一行数据 (行数据为 Series 一维数组)

df = df.append(pd.Series(["lee", 32, "female", "西安"], index=dfcols), ignore_index=True)

print(df)

技术分享图片

 

 

4. DF按条件过滤数据

# 过滤出年龄大于 30岁 的人
df[df["age"] > 30]

技术分享图片


 

# 第2行数据的age值改为空值
df.loc[3, "age"] = None
print(df)

技术分享图片


 

# 删除有空值的行数据
print(df[df["age"].notnull()])

# 在pandas的drop系列函数中, axis=0表示x轴数据(行数据), 1表示y轴数据(列数据)
print(df.dropna(axis=0))

上面两种方式都一样

技术分享图片

 

5. groupby分组

 待补充...

6. agg()方法

 待补充...

7. apply()方法

待补充...

8. 待补充...

 

玩一玩pandas

原文:https://www.cnblogs.com/bk9527/p/11456421.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!