Fork me on GitHub

pandas学习笔记

pandas学习笔记

字符串离散化

  1. 获得字符串去重后的列表

    set()

  2. 从dataframe文件中获取多重列表

    1
    2
    3
    temp_list = df["Genre"].str.split(",").tolist() # [[], [], []]

    genre_list = list(set([i for j in temp_list for i in j])) # j对应二级列表,i对应二级列表中内容
  1. 构造全为零的数组,columns为字符串的列表

    zero_df = pd.DataFrame(np.zeros((2, 4)), index=list("AB"), columns=list("abcd"))

  2. 给全为零的数组赋值,遍历

    1
    2
    for i in range(df.shape[0]):
    zero_df.loc[i, list("abcd")[i]] = 1

join

  1. 按照index来进行分组
  2. t1.join(t2)# 进行行拼接

merge

  1. 按照列数据进行分组
  2. t1.merge(t2, on="a", how="inner")默认内连接(交集),若列中存在相同值,则将该行拼接
  3. t1.merge(t2, on="a", how="outter") 外连接(并集)
  4. t1.merge(t2, on="a", how="left")以t1为准
  5. t1.merge(t2, on="a", how="right") 以t2为准
  6. t1.merge(t2, left_on="a", right_on="b", how="left") 若无相同类名时可如此使用

分组聚合

  1. df.groupby(by="")得到grouped对象,能够调用聚合方法、遍历
  2. df.groupby(by).count()
  3. df.groupby(by).mean()
  4. df.groupby(by=["", ""]).count带复合索引的DataFrame

索引

  1. df.index获取索引

  2. df.index=["a", "b", "c"]设置索引的值

  3. df.set_index("a")将某列的值设为索引

  4. df.set_index(["a", "b", "c"])将多列设为复合索引

  5. 从复合索引中取值

    1. Series

      • s1["a"]["b"]
      • si["a", "b"]
    2. DataFrame

      df.loc["a"].loc["b"]输入索引目录下的值以获取对应数据

  6. 从里层索引开始选取

    1. df.swaplevel()
    2. 交换里外层索引的位置
欢迎投喂,但你的支持就是对我最佳的回馈。