鱼C论坛

 找回密码
 立即注册
查看: 4071|回复: 0

[技术交流] pandas的DataFrame的创建、增删改

[复制链接]
发表于 2020-12-11 17:29:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
pandas的DataFrame的创建和增删改
  1. import pandas as pd
  2. import time

  3. idx = [1,2,3,5,6,7,9,4,8]
  4. name = ["apple","pearl","orange", "apple","orange","orange","apple","pearl","orange"]
  5. price = [5.20,3.50,7.30,5.00,7.50,7.30,5.20,3.70,7.30]
  6. N = 1  # 数据越大,内存差距越大
  7. df = pd.DataFrame({ "fruit": name*N , "price" : price*N}, index = idx*N)
  8. print (df,"\n")
  9. print ('memory_usage',df.memory_usage(),"\n")
  10. print (df.dtypes)
  11. print ("*" * 20)
  12. df['fruit'] = df['fruit'].astype('category')
  13. # 将fruit列由Series改为了category类型,通过codes和categories组合出fruit的values
  14. # 第二种创建方法:
  15. # cat = pd.categorial(name)
  16. # df['fruit'] = cat
  17. print (df)
  18. print ('memory_usage',df.memory_usage(),"\n")
  19. print (df.dtypes)
  20. print('fruit.values:',df.fruit.values)
  21. print('fruit.values.codes:',df.fruit.values.codes)
  22. print('fruit.values.categories:',df.fruit.values.categories)
  23. # categories数据的修改
  24. df.fruit.values.categories = ["Pearl", "Orange", "Apple"]
  25. df.fruit.values.rename_categories(["Apple", "Orange", "Pearl"],inplace = True)
  26. # categories数据的增加
  27. df_new = pd.DataFrame({"fruit":["watermelon"] * 3,
  28.                        "price":[2.75, 2.60, 2.55]},
  29.                        index = [11, 12, 13])
  30. df.fruit.values.add_categories("watermelon", inplace = True)
  31. df = df.append(df_new)
  32. # 这里需要注意的是add_categories函数需要在插入数据之前调用,
  33. # 否则数据增加进去了但是codes并未更新都是-1。
  34. # 下面是删除categories
  35. df = df[df.fruit != "apple"]  # 利用布尔选择删除了所有的"apple"的记录
  36. df.fruit.values.remove_categories("apple", inplace = True)
  37. # 删除了df的fruit这个categorical data的categories里的种类"apple",如果注释掉此语句,codes则还是用原categories进行编码。
  38. df.fruit.cat.remove_unused_categories(inplace = True)  # 删除未使用的categories
  39. print('总的数据个数:',df.fruit.count())
  40. print('categories分别出现的次数:',df.fruit.value_counts())
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-30 16:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表