python pandas 读取 0开头的字符串 随机抽取数据

举报
风吹稻花香 发表于 2022/09/30 00:27:07 2022/09/30
【摘要】 目录 pandas 读取csv 0开头的字符串 pandas 随机抽取1000行数据: pandas获取数据尺寸信息: 获取数据总量和维度信息: 获取行数: pandas 遍历速度比较 筛选数据再遍历速度比较: pandas 读取csv 0开头的字符串 0开头的数字字符串,比如012355,会读成12355。 ...

目录

pandas 读取csv 0开头的字符串

pandas 随机抽取1000行数据:

pandas获取数据尺寸信息:

获取数据总量和维度信息:

获取行数:

pandas 遍历速度比较

筛选数据再遍历速度比较:


pandas 读取csv 0开头的字符串

0开头的数字字符串,比如012355,会读成12355。

因此需要走下数据转换 converters={'code': str}可以对数据进行转换

code_data = pd.read_csv(file, encoding='utf8', converters={'code': str})
 

code是列名,需要换成你的文件列名,读取时会对那一列进行处理。 

pandas 随机抽取1000行数据:

data = data.sample(n=1000,random_state=1)  #随机抽取1000行
 

pandas获取数据尺寸信息:

获取数据总量和维度信息:

print(df_label.size,df_label.shape)
 

如果df_label是3行5列,那么:

结果是15  (3, 5)

获取行数:

print(df_label.__len__())
 
print(df_label.shape[0])
 

pandas 遍历速度比较


  
  1. aa=1
  2. start=time.time()
  3. for row_index,data in enumerate(df_label.itertuples()):
  4. aa+=1
  5. print("aa time",aa,time.time()-start)
  6. aa = 1
  7. for row_index, data in enumerate(df_label.iterrows()):
  8. aa += 1
  9. print("bb time",aa, time.time() - start)
  10. aa = 1
  11. for row_index, data in df_label.iterrows():
  12. aa += 1
  13. print("cc time",aa, time.time() - start)

结果:

aa time 79039 0.43267178535461426
bb time 79039 6.147785902023315
cc time 79039 11.870731353759766

筛选数据再遍历速度比较:


  
  1. aa=1
  2. start=time.time()
  3. df_datas = df_label[df_label['group_id'] == 5]
  4. for row_index,data in enumerate(df_datas.itertuples()):
  5. aa+=1
  6. print("aa time",aa,time.time()-start)
  7. aa = 1
  8. for row_index, data in enumerate(df_datas.iterrows()):
  9. aa += 1
  10. print("bb time",aa, time.time() - start)
  11. aa = 1
  12. for row_index, data in df_datas.iterrows():
  13. aa += 1
  14. print("cc time",aa, time.time() - start)

结果:

aa time 6555 0.03705906867980957
bb time 6555 0.5034129619598389
cc time 6555 0.9736764430999756

总结:

itertuples速度最快,是iterrows速度的20-30倍。

文章来源: blog.csdn.net,作者:AI视觉网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/127085729

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。