当前位置: 首页 > news >正文

弄个盈利网站做什么网站备案安全承诺书

弄个盈利网站做什么,网站备案安全承诺书,免费网络电话免费30分钟,wordpress创建数据库错误目前最常用的数据保存格式可能就是CSV格式了#xff0c;数据分析第一步就是获取数据#xff0c;怎样读取数据至关重要。 本文将以pandas read_csv方法为例#xff0c;详细介绍read_csv数据读取方法。再数据读取时进行数据预处理#xff0c;这样不仅可以加快读取速度#x…目前最常用的数据保存格式可能就是CSV格式了数据分析第一步就是获取数据怎样读取数据至关重要。 本文将以pandas read_csv方法为例详细介绍read_csv数据读取方法。再数据读取时进行数据预处理这样不仅可以加快读取速度同时为后期数据清洗及分析打下基础。 导入必要的库 import pandas as pd import numpy as np from pandas.api.types import CategoricalDtype from io import StringIO Specifying Column Data Types 可以指定整个DataFrame或各个列的数据类型 data pd.read_csv(diamonds.csv,dtypeobject) data.head() out: caratcutcolorclaritydepthtablepricexyz 00.23IdealESI261.5553263.953.982.43 10.21PremiumESI159.8613263.893.842.31 20.23GoodEVS156.9653274.054.072.31 30.29PremiumIVS262.4583344.24.232.63 40.31GoodJSI263.3583354.344.352.75 data.dtypes out: carat object cut object color object clarity object depth object table object price object x object y object z object dtype: object data pd.read_csv(diamonds.csv,dtype{carat: np.float64,depth: np.float64,table:np.float64}) data.dtypes out: carat float64 cut object color object clarity object depth float64 table float64 price int64 x float64 y float64 z float64 dtype: object pandas提供了多种方法来确保列仅包含一个dtype。例如,可以使用read_csv的converters参数 data pd.read_csv(diamonds.csv,converters{carat:str}) data.dtypes out: carat object cut object color object clarity object depth float64 table float64 price int64 x float64 y float64 z float64 dtype: object data.carat.apply(type).value_counts() out:53940 Name: carat, dtype: int64 或者可以在读取数据后使用to_numeric函数强进行类型转换。 data.carat pd.to_numeric(data[carat],errorscoerce) data.carat.apply(type).value_counts() out:53940 Name: carat, dtype: int64 Specigying Categorical Dtype¶ 可以通过指定dtype category或dtype CategoricalDtype类别有序直接解析类别列。 data pd.read_csv(diamonds.csv,dtypecategory) data.dtypes out: carat category cut category color category clarity category depth category table category price category x category y category z category dtype: object 可以使用dict指定将某列为Category类型 data pd.read_csv(diamonds.csv,dtype{cut:category}) data.dtypes out: carat float64 cut category color object clarity object depth float64 table float64 price int64 x float64 y float64 z float64 dtype: object data.cut.value_counts() out: Ideal 21551 Premium 13791 Very Good 12082 Good 4906 Fair 1610 Name: cut, dtype: int64 指定dtype category将导致无序分类其类别是数据中观察到的唯一值。 要更好地控制类别和顺序可以创建CategoricalDtype然后将其传递给该列的dtype。 from pandas.api.types import CategoricalDtype dtype CategoricalDtype([Ideal,Premium,Very Good,Good,Fair],orderedTrue) data pd.read_csv(diamonds.csv,dtype{cut:dtype}) data.dtypes out: carat float64 cut category color object clarity object depth float64 table float64 price int64 x float64 y float64 z float64 dtype: object 使用dtype CategoricalDtype时dtype.categories之外的“意外”值将被视为缺失值。 from pandas.api.types import CategoricalDtype dtype CategoricalDtype([Ideal,Premium,Very Good,Good],orderedTrue) data pd.read_csv(diamonds.csv,dtype{cut:dtype}) data[data.cut.isnull()].head() out: caratcutcolorclaritydepthtablepricexyz 80.22NaNEVS265.161.03373.873.782.49 910.86NaNESI255.169.027576.456.333.52 970.96NaNFSI266.362.027596.275.954.07 1230.70NaNFVS264.557.027625.575.533.58 1240.70NaNFVS265.355.027625.635.583.66 Naming and Using Columns Handling Column names 文件可能包含标题行也可能没有标题行。 pandas假定第一行应用作列名 from io import StringIO data (a,b,c\n 1,2,3\n 4,5,6\n 7,8,9) pd.read_csv(StringIO(data)) out: abc 0123 1456 2789 通过指定name与header可以重命名列以及是否丢弃标题行 pd.read_csv(StringIO(data),names[foo,bar,baz],header0) out: foobarbaz 0123 1456 2789 pd.read_csv(StringIO(data),names[foo,bar,baz],headerNone) out: foobarbaz 0abc 1123 2456 3789 如果标题不在第一行中则将行号传递给标题将跳过header前面的行 data (skip this skip it\n a,b,c\n 1,2,3\n 4,5,6\n 7,8,9) pd.read_csv(StringIO(data),header1) out: abc 0123 1456 2789 Duplicate Names Parsing 如果文件或标题包含重复的名称默认情况下pandas会将它们区分开以防止覆盖数据. data (a,b,a\n 0,1,2\n 3,4,5) print(data) out: a,b,a 0,1,2 3,4,5 pd.read_csv(StringIO(data)) out: aba.1 0012 1345 Filtering Columns(usecols) usecols参数允许您使用列名位置号或可调用的方法选择文件中列的任何子集. data a,b,c,d\n1,2,3,foo\n4,5,6,bar\n7,8,9,baz pd.read_csv(StringIO(data)) out: abcd 0123foo 1456bar 2789baz pd.read_csv(StringIO(data),usecols[b,d]) out: bd 02foo 15bar 28baz pd.read_csv(StringIO(data),usecols[0,1,3]) out: abd 012foo 145bar 278baz pd.read_csv(StringIO(data),usecolslambda x: x.upper() in [A,C]) out: ac 013 146 279 pd.read_csv(StringIO(data),usecolslambda x: x.upper() not in [A,C]) out: bd 02foo 15bar 28baz Comments and Empty Lines Ignoring Line Comments And Empty Lines 如果指定了comment参数则将忽略注释行。 默认情况下空行也将被忽略。 data (\n a,b,c\n \n # commented line\n 1,2,3\n \n 4,5,6) print(data) out: a,b,c # commented line 1,2,3 4,5,6 pd.read_csv(StringIO(data),comment#) out: abc 0123 1456 如果skip_blank_lines False则read_csv将不会忽略空行 pd.read_csv(StringIO(data),comment#,skip_blank_linesFalse) out: abc NaNNaN 123 NaNNaNNaN 456 警告被忽略的行的存在可能会导致涉及行号的歧义 参数标题使用行号忽略注释/空行而行首使用行号包括注释/空行. data (#comment\n a,b,c\n A,B,C\n 1,2,3) pd.read_csv(StringIO(data),comment#,header1) out: ABC 0123 pd.read_csv(StringIO(data),comment#,skiprows2) ABC 0123 如果同时指定了skiprows和header则header将相对于skiprows的末尾。 例如 data (# empty\n # second empty line\n # third emptyline\n X,Y,Z\n 1,2,3\n A,B,C\n 1,2.,4.\n 5.,NaN,10.0\n) print(data) out: # empty # second empty line # third emptyline X,Y,Z 1,2,3 A,B,C 1,2.,4. 5.,NaN,10.0 pd.read_csv(StringIO(data),comment#,skiprows4,header1) out: ABC 01.02.04.0 15.0NaN10.0 pd.read_csv(StringIO(data),skiprows4,header1) out: ABC 01.02.04.0 15.0NaN10.0 Comments tmp (ID,level,category\n Patient1,123000,x # really unpleasant\n Patient2,23000,y # wouldn\t take his medicine\n Patient3,1234018,z # awesome) pd.read_csv(StringIO(tmp)) out: IDlevelcategory 0Patient1123000x # really unpleasant 1Patient223000y # wouldnt take his medicine 2Patient31234018z # awesome pd.read_csv(StringIO(tmp),comment#) out: IDlevelcategory 0Patient1123000x 1Patient223000y 2Patient31234018z Index Columns And Trailing Delimiters data (a,b,c\n 4,apple,bat,5.7\n 8,orange,cow,10) pd.read_csv(StringIO(data)) out: abc 4applebat5.7 8orangecow10.0 pd.read_csv(StringIO(data),index_col0) out: abc 4applebat5.7 8orangecow10.0 data (a,b,c\n 4,apple,bat\n 8,orange,cow) pd.read_csv(StringIO(data)) out: abc 04applebat 18orangecow pd.read_csv(StringIO(data),index_col0) out: bc a 4applebat 8orangecow pd.read_csv(StringIO(data),usecols[b,c]) out: bc 0applebat 1orangecow pd.read_csv(StringIO(data),usecols[b,c],index_col0) out: c b applebat orangecow Date Handling Specifying Date Columns 为了更好地使用日期时间数据read_csv使用关键字参数parse_dates和date_parser允许用户指定列的日期/时间格式将string转换为日期时间对象。 foo (date,A,B,C\n 2009-01-01,a,1,2\n 2009-01-02,b,3,4\n 2009-01-03,c,4,5\n) pd.read_csv(StringIO(foo),index_col0,parse_datesTrue) out: ABC date 2009-01-01a12 2009-01-02b34 2009-01-03c45 pd.read_csv(StringIO(foo),index_col0,parse_datesTrue).index DatetimeIndex([2009-01-01, 2009-01-02, 2009-01-03], dtypedatetime64[ns], namedate, freqNone) 通常我们可能希望分别存储日期和时间数据或分别存储各种日期字段。 parse_dates关键字可用于指定列的组合以从中解析日期和/或时间。 您可以指定要parse_dates的列或嵌套列表结果日期列将被添加到输出的前面以便不影响现有的列顺序新的列名为各列Name的连接。 tmp (KORD,19990127, 19:00:00, 18:56:00, 0.8100\n KORD,19990127, 20:00:00, 19:56:00, 0.0100\n KORD,19990127, 21:00:00, 20:56:00, -0.5900\n KORD,19990127, 21:00:00, 21:18:00, -0.9900\n KORD,19990127, 22:00:00, 21:56:00, -0.5900\n KORD,19990127, 23:00:00, 22:56:00, -0.5900) pd.read_csv(StringIO(tmp),headerNone,parse_dates[[1,2],[1,3]]) out: 1_21_304 01999-01-27 19:00:001999-01-27 18:56:00KORD0.81 11999-01-27 20:00:001999-01-27 19:56:00KORD0.01 21999-01-27 21:00:001999-01-27 20:56:00KORD-0.59 31999-01-27 21:00:001999-01-27 21:18:00KORD-0.99 41999-01-27 22:00:001999-01-27 21:56:00KORD-0.59 51999-01-27 23:00:001999-01-27 22:56:00KORD-0.59 默认情况下解析器会删除组件日期列可以选择通过keep_date_col关键字保留它们 pd.read_csv(StringIO(tmp),headerNone,parse_dates[[1,2],[1,3]],keep_date_colTrue) out: 1_21_301234 01999-01-27 19:00:001999-01-27 18:56:00KORD1999012719:00:0018:56:000.81 11999-01-27 20:00:001999-01-27 19:56:00KORD1999012720:00:0019:56:000.01 21999-01-27 21:00:001999-01-27 20:56:00KORD1999012721:00:0020:56:00-0.59 31999-01-27 21:00:001999-01-27 21:18:00KORD1999012721:00:0021:18:00-0.99 41999-01-27 22:00:001999-01-27 21:56:00KORD1999012722:00:0021:56:00-0.59 51999-01-27 23:00:001999-01-27 22:56:00KORD1999012723:00:0022:56:00-0.59 请注意如果您希望将多个列合并为一个日期列则必须使用嵌套列表。 换句话说parse_dates [12]表示第二和第三列应分别解析为单独的日期列而parse_dates [[12]]意味着应将这两列解析为单个列。 还可以使用字典来指定自定义名称列 date_spec {nominal:[1,2],actual:[1,3]} pd.read_csv(StringIO(tmp),headerNone,parse_datesdate_spec) out: nominalactual04 01999-01-27 19:00:001999-01-27 18:56:00KORD0.81 11999-01-27 20:00:001999-01-27 19:56:00KORD0.01 21999-01-27 21:00:001999-01-27 20:56:00KORD-0.59 31999-01-27 21:00:001999-01-27 21:18:00KORD-0.99 41999-01-27 22:00:001999-01-27 21:56:00KORD-0.59 51999-01-27 23:00:001999-01-27 22:56:00KORD-0.59 重要的是要记住如果要将多个文本列解析为单个日期列则在数据前添加一个新列。 index_col参数基于这组新列而不是原始数据列 pd.read_csv(StringIO(tmp),headerNone,parse_datesdate_spec,index_col0) out: actual04 nominal 1999-01-27 19:00:001999-01-27 18:56:00KORD0.81 1999-01-27 20:00:001999-01-27 19:56:00KORD0.01 1999-01-27 21:00:001999-01-27 20:56:00KORD-0.59 1999-01-27 21:00:001999-01-27 21:18:00KORD-0.99 1999-01-27 22:00:001999-01-27 21:56:00KORD-0.59 1999-01-27 23:00:001999-01-27 22:56:00KORD-0.59 注意如果列或索引包含不可解析的日期则整个列或索引将作为对象数据类型原样返回。 对于非标准日期时间解析请在pd.read_csv之后使用to_datetime。 注意read_csv具有用于解析iso8601格式的日期时间字符串的fast_path例如“ 2000-01-01T000102 0000”和类似的变体。 如果可以安排数据以这种格式存储日期时间则加载时间将明显缩短约20倍。 Date Parsing Functions 最后解析器允许您指定自定义date_parser函数以充分利用日期解析API的灵活性 pd.read_csv(StringIO(tmp),headerNone,parse_datesdate_spec, date_parserpd.io.date_converters.parse_date_time) out: nominalactual04 01999-01-27 19:00:001999-01-27 18:56:00KORD0.81 11999-01-27 20:00:001999-01-27 19:56:00KORD0.01 21999-01-27 21:00:001999-01-27 20:56:00KORD-0.59 31999-01-27 21:00:001999-01-27 21:18:00KORD-0.99 41999-01-27 22:00:001999-01-27 21:56:00KORD-0.59 51999-01-27 23:00:001999-01-27 22:56:00KORD-0.59 Parsing A Csv with Mixed Timezones Pandas不能原生表示具有混合时区的列或索引。 如果CSV文件包含带有时区混合的列则默认结果将是带有字符串的object-dtype列即使包含parse_dates。 content (a\n 2000-01-01T00:00:0005:00\n 2000-01-01T00:00:0006:00\n) pd.read_csv(StringIO(content),parse_dates[a]) out: a 02000-01-01 00:00:0005:00 12000-01-01 00:00:0006:00 要将混合时区值解析为datetime列请将部分应用的to_datetime传递给utc True作为date_parser。 pd.read_csv(StringIO(content),parse_dates[a], date_parserlambda col:pd.to_datetime(col,utcTrue)) out: a 01999-12-31 19:00:0000:00 11999-12-31 18:00:0000:00 ​
http://www.sadfv.cn/news/77558/

相关文章:

  • 网站开发专业就业前系军seo与网站建设
  • 自己做网站需要备案么安卓原生app开发工具
  • 变身 变装 wordpress成都百度快照优化排名
  • 服装企业网站建设现状广安市建设局新网站
  • 做网站的价鄂州网站制作人才招聘
  • 上海商城网站网络销售平台怎么建立
  • 省级网站 开发建设 资质杭州网站建设服务
  • 网站前台怎么做无锡做企业网站
  • 文档网站超链接怎么做徽文化网站建设方案书
  • 正能量不良网站免费软件下载平面设计展示网站
  • 做网站语言学什么许昌建设网站
  • 国家企业信用信息公示系统登录seo赚钱方式
  • 多个网站备案e龙岩网站
  • 简单的网站管理系统我爱我家租房房源信息网
  • 怎么申请网站详细步骤网页版微信网址
  • 装修平台网站制作如何创建一个公司网站
  • 个人秀网站category wordpress
  • 室内效果图网站河北关键词排名推广
  • 做视频解析网站属于网页制作平台的是?
  • 推广平台网站制作在线装修设计软件
  • 做网站需要的东西重庆网站搭建哪里可以做
  • 佛山网站建设怎么选淘宝客优惠券网站建设教程
  • 帮别人建设网站京东网站建设吗
  • 台州企业网站制作公司wordpress 页面 插件
  • 上海手机网站建设报价wordpress 数据喵
  • 域名注册官方网站在线做带字头像的网站
  • 外国风格网站建设电话预付做网站订金怎么做账
  • 织梦安防网站源码wordpress表excel插件
  • 天津网站搜索优化企业网站设计专业好吗
  • 常营网站建设17网站一起做网店app