首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python数据科学(七)- 资料清理(Ⅱ)1.资料转换2.处理时间格式资料3.重塑资料4.学习正则表达式5.实例处理

1.正则表达式(Regular Expression):查询和匹配字符串的规则 2.正则表达式表示数据 普通字符: 元数据,可以用于匹配指定的字符 r = “a”:用于在目标字符串中匹配小写字母a元字符...:用于匹配任意一个字符 r = “\”:转移字符~用于将一个普通的字符,转义成一个有意义的字符 r = “\d”:表示一个0~9之间的整数 r = “\D”:表示一个非数字字符 r = “\w”:表示任意一个...0~9或者字母或者下划线的字符 r = “\W”:表示任意一个特殊字符 r = “\s”:表示匹配一个空白字符 r = “\S”:表示匹配一个非空白字符 r = “^”:匹配字符串的开头位置 r = “...:表示前面匹配的字符出现了0次或者1次 r =”\d+”:表示前面匹配的字符出现了1次或者多次 #范围匹配 分组匹配方式:将多个匹配字符当成一个完整的匹配公式 (abc):用于在目标字符串中查询abc...同时出现的地方 选择匹配方式:将指定的多个字符,选择其中一个进行匹配 [abc]:用于在目标字符串中,查询a或者b或者c出现的地方 [0-9]:用于匹配一个0~9之间的数字->等价于\d [a-z]:

1.1K30

(数据科学学习手札68)pandas中的categorical类型及应用

一、简介   categorical是pandas中对应分类变量的一种数据类型,与R中的因子型变量比较相似,例如性别、血型等等用于表征类别的变量都可以用其来表示,本文就将针对categorical的相关内容及应用进行介绍...二、创建与应用 2.1 基本特性和适用场景   在介绍具体方法之前,我们需要对pandas数据类型中的categorical类型有一个了解,categorical类似R中的因子型变量,可以进行排序操作,...但不可以进行数值运算操作,其顺序在其被定义的时候一同确定,而不是按照数字字母词法排序的顺序,其适用场景有如下几个:   1、具有少数几种可能取值并存在大量重复的字符串字段,利用categorical类型对其转换后可有效节省内存...2、对于DataFrame,在定义数据之后转换类型: #创建数据框 df_cat = pd.DataFrame({ 'V1':['A','C','B','D'] }) #转换指定列的数据类型为category...3、利用pd.Categorical()生成类别型数据后转换为Series,或替换DataFrame中的内容: categorical_ = pd.Categorical(['A','B','D','C

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    NotePad++ 正则表达式替换 高级用法

    大家好,又见面了,我是你们的朋友全栈君。 在我们处理文件时,很多时候会用到查找与替换。当我们想将文件中某一部分替换替换文件中另一部分时,怎么办呢? 下面正则表达式 给我提供方法。...这些标签可以用在当前正则表达式中,或则替search和replace中的换字符串。 \1, \2, etc 在替换中代表1到9的标签区域(\1 to \9)。...例如, 查找字符串 Fred([1-9])XXX 并替换为字符串 Sam\1YYY的方法,当在文件中找到Fred2XXX的字符串时,会替换为Sam2YYY。...类似的 ‘(A[^\s]+)\s\1’ 使用组名而不是数字. (?=name) 匹配名为name的组. (?P…). (?#comment) 批注 –括号中的内容在匹配时将被忽略。...例如, [ 用来插入到文本中作为[ 而不是作为字符集的开始. 4 字符类 符号 解释 [[:alpha:]] 匹配字母字符: [A-Za-z] [[:digit:]] 匹配数字字符: [0-9] [[

    4.1K30

    NLP中的文本分析和特征工程

    因此我将首先将其读入一个带有json包的字典列表,然后将其转换为一个pandas Dataframe。...文本清理步骤根据数据类型和所需任务的不同而不同。通常,字符串被转换为小写字母,并且在文本被标记之前删除标点符号。标记化是将一个字符串分割成一个字符串列表(或“记号”)的过程。...对于每个新闻标题,我将把所有已识别的实体放在一个新列(名为“tags”)中,并将同一实体在文本中出现的次数一并列出。...如果有n个字母只出现在一个类别中,这些都可能成为新的特色。更费力的方法是对整个语料库进行向量化并使用所有单词作为特征(词包方法)。...现在我将向您展示如何将单词频率作为一个特性添加到您的dataframe中。我们只需要Scikit-learn中的CountVectorizer,这是Python中最流行的机器学习库之一。

    3.9K20

    python数据分析——数据预处理

    最后返回df和arr的数据类型。 关键技术:type()方法。 【例】同样对于前一个例题给定的数据文件,读取后请利用Python查看数据格式一是字符串还是数字格式。...本小节后续案例中所用的df数据如下,在案例中将不再重复展示。 【例】使用近邻填补法,即利用缺失值最近邻居的值来填补数据,对df数据中的缺失值进行填补,这种情况该如何实现?...本节主要从重复值的发现和处理两方面进行介绍。 本节各案例所用到的df数据如下,在各案例的代码展示中将不再重复这部分内容。 【例】请使用Python检查df数据中的重复值。...本案例的代码及运行结果如下。 七、其他 7.1大小写转换 在数据分析中,有时候需要将字符串中的字符进行大小写转换。在Python中可以使用lower()方法,将字符串中的所有大写字母转换为小写字母。...也可以使用upper()方法,将字符串中的所有小写字母转换为大写字母。

    94610

    直观地解释和可视化每个复杂的DataFrame操作

    我们选择一个ID,一个维度和一个包含值的列/列。包含值的列将转换为两列:一列用于变量(值列的名称),另一列用于值(变量中包含的数字)。 ?...诸如字符串或数字之类的非列表项不受影响,空列表是NaN值(您可以使用.dropna()清除它们 )。 ? 在DataFrame df中Explode列“ A ” 非常简单: ?...Unstack 取消堆叠将获取多索引DataFrame并对其进行堆叠,将指定级别的索引转换为具有相应值的新DataFrame的列。在表上调用堆栈后再调用堆栈不会更改该堆栈(原因是存在“ 0 ”)。...默认情况下,合并功能执行内部联接:如果每个DataFrame的键名均未列在另一个键中,则该键不包含在合并的DataFrame中。...另一方面,如果一个键在同一DataFrame中列出两次,则在合并表中将列出同一键的每个值组合。

    13.3K20

    精心整理了100+Python字符串常用操作,收藏备用!

    在Python中查找字符串中所有出现的单词的所有索引 在 Python 中将字符串中每个单词的首字母大写 仅在 Python 中的双引号后拆分字符串 在 Python 中以字节为单位获取字符串的大小...、小写还是混合大小写 Python计数字符串出现在给定字符串中 在 Python3 中用前导零填充字符串 在 Python 中检查两个字符串是否包含相同的字母和数字 在Python中的字符串中的字符之间添加空格的有效方法...在Python中查找字符串中最后一次出现的子字符串的索引 在 Python 中将字符串大写 拆分非字母数字并在 Python 中保留分隔符 计算Python中字符串中大写和小写字符的数量 在 Python...在 Python 中的数字和字符串之间添加空格 如何在 Python 中去除空格 字符串中最后一次出现的分隔符处拆分字符串 在Python中将字符串的最后一个字母大写 使用指定字符居中对齐字符串 格式字符串中动态计算的零填充...中仅按第一个空格拆分字符串 在Python中将字符串中的一些小写字母更改为大写 将字符串拆分为具有多个单词边界分隔符的单词 检查一个字符串在 Python 中是否具有相同的字符 在多个分隔符或指定字符上拆分字符串

    14.5K20

    linux命令讲解大全】087.掌握Linux命令tr的字符替换和压缩技巧

    参数 字符集1: 指定要转换或删除的原字符集。当执行转换操作时,必须使用参数字符集2指定转换的目标字符集。但执行删除操作时,不需要参数字符集2; 字符集2: 指定要转换成的目标字符集。...,从输入文本中将不在补集中的所有字符删除: echo aa....,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n' 1 2 3 4 此例中,补集中包含了数字0~9、空格和换行符\n,所以没有被删除,其他字符全部被删除了...: cat file | tr -s "\r" "\n" > new_file 或 cat file | tr -d "\r" > new_file tr可以使用的字符类: [:alnum:]: 字母和数字...[:alpha:]: 字母 [:cntrl:]: 控制(非打印)字符 [:digit:]: 数字 [:graph:]: 图形字符 [:lower:]: 小写字母 [:print:]: 可打印字符 [:

    16310

    Python字符串处理方法总结

    判断字符串中是否包含子字符串 # 与find()方法一样,只不过如果str不在 string中会报一个异常 s.index() # 判断字符串是否由字母和数字组成 s.isalnum() # 判断字符串是否只由字母组成...s.maketrans() # 用来根据指定的分隔符将字符串进行分割 s.partition() # 把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替#...换不超过 max 次 s.replace() # 返回字符串最后一次出现的位置,如果没有匹配项则返回-1 s.rfind() # 返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常...) # 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表 s.splitlines() # 判断字符串是否是以指定子字符串开头 s.startswith() # 删除字符串头尾指定的字符...(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del # 参数中 s.translate() # 字符串中所有小写字母转换为大写 s.upper() # 返回指定长度的字符串,原字符串右对齐

    1.3K20

    如何在 Python 中将数字转换为字母?

    在编程中,有时我们需要将数字转换为字母,例如将数字表示的年份转换为对应的字母表示,或者将数字编码转换为字母字符。Python 提供了多种方法来实现这种转换。...本文将详细介绍在 Python 中将数字转换为字母的几种常用方法,并提供示例代码帮助你理解和应用这些方法。...如果数字在合法范围内,我们将其加上 64(即 ASCII 码中 A 的前一个字符的码值),然后使用 chr() 函数将其转换为对应的字母。...结论本文详细介绍了在 Python 中将数字转换为字母的几种常用方法。我们介绍了使用 chr() 函数、string 模块和 ord() 函数等方法,并提供了示例代码帮助你理解和应用这些方法。...在实际应用中,根据具体的需求和场景选择合适的方法进行数字到字母的转换。这些方法简单易懂,适用于各种常见的转换需求。

    1.9K40

    Pandas文本处理双雄:extract + extractall

    ] 匹配1 在下面的例子中,匹配了两组模式的数据;一对()表示匹配一组: ab:表示从ab字母中任意匹配一个 \d:表示匹配一个数字 [e6c9d24ely1gzikowjqdwj20lq0bc74u.jpg...] 通过结果,我们可以发现2点: 当匹配多组规则的时候,如果没有匹配成功,则用NaN来代替 当第一组模式没有匹配成功的时候,第二组匹配无效 关于第2点:在c3中虽然后面的\d匹配到了数字,但是前面的[ab...所以在c3中,[ab]可以说是匹配到了0个,用NaN代替,也是匹配成功 匹配3 在匹配的时候指定列名,生成最终的DataFrame: [e6c9d24ely1gzil8mxhvrj20tc08s0t8....] 实战案例 下面通过一个实际的案例来讲解如何使用extract函数: 模拟数据 name字段中其实是同时包含了姓名和性别两个信息,address字段中同时包含了省份和城市: df = pd.DataFrame...匹配任何单个字符(字母、数字或符号) 可以匹配 10、1A 1.1 可以匹配 111、1A1 ? 匹配前面的字符 0 次或 1 次 10?

    1.3K10

    在Pandas中更改列的数据类型【方法总结】

    有没有办法将数据转换为DataFrame格式时指定类型?或者是创建DataFrame,然后通过某种方法更改每列的类型?...默认情况下,它不能处理字母型的字符串’pandas’: >>> pd.to_numeric(s) # or pd.to_numeric(s, errors='raise') ValueError: Unable...但是,可能不知道哪些列可以可靠地转换为数字类型。...在这种情况下,设置参数: df.apply(pd.to_numeric, errors='ignore') 然后该函数将被应用于整个DataFrame,可以转换为数字类型的列将被转换,而不能(例如,它们包含非数字字符串或日期...软转换——类型自动推断 版本0.21.0引入了infer_objects()方法,用于将具有对象数据类型的DataFrame的列转换为更具体的类型。

    20.3K30

    数据科学 IPython 笔记本 7.7 处理缺失数据

    在整本书中,我们将缺失数据称为空值或NaN值。 缺失数据惯例中的权衡 许多方案已经开发出来,来指示表格或DataFrame中是否存在缺失数据。...通常,它们围绕两种策略中的一种:使用在全局表示缺失值的掩码,或选择表示缺失条目的标记值。 在掩码方法中,掩码可以是完全独立的布尔数组,或者它可以在数据表示中占用一个比特,在本地表示值的空状态。...在标记方法中,标记值可能是某些特定于数据的惯例,例如例如使用-9999或某些少见的位组合来表示缺失整数值,或者它可能是更全局的惯例,例如使用NaN(非数字)表示缺失浮点值,这是一个特殊值,它是 IEEE...NaN:缺失的数值数据 另一个缺失的数据表示,NaN(“非数字”的首字母缩写)是不同的;它是所有系统都识别的特殊浮点值,使用标准 IEEE 浮点表示: vals2 = np.array([1, np.nan...转换为float64 np.nan boolean 转换为object None或np.nan 请记住,在 Pandas 中,字符串数据始终与object dtype一起存储。

    4.1K20

    干货:手把手教你用Python读写CSV、JSON、Excel及解析HTML

    每一行作为文本读入,你需要将文本转为一个整数——计算机可以将其作为数字理解(并处理)的数据结构,而非文本。 当数据中只有数字时一切安好。...然而,你将会认识到,我们收集的数据在某些方面是有瑕疵的,那么,某些行包含一个字母而非数字时,文本到整数的转换会失败,而Python会抛出一个异常。...to_csv(…)方法将DataFrame的内容转换为可存储于文本文件的格式。你要指定分隔符,比如sep=‘,’,以及是否保存DataFrame的索引,默认是保存的。...用索引可以很方便地辨认、校准、访问DataFrame中的数据。索引可以是一列连续的数字(就像Excel中的行号)或日期;你还可以设定多列索引。...使用下面这行代码处理DataFrame中的列名: url_read.columns = fix_string_spaces (url_read.columns) 查看Wikipedia上的机场表,你会发现它根据前两个字母分组

    8.4K20

    【OJ】string类题目

    当两个字符相加,得注意,要转换为整形相加,当ret大于10,那么next=ret/10,而字符穿要记录的是ret=ret%10,再头插retstr.insert(0,1,ret+'0'),头插时要转换为字符头插...直接用两个变量,一个从前面开始走int l = 0,一个从后面走int r = n - 1,循环结束条件就是:当l等于r就结束,奇数中间的就不会换,偶数也刚好交换完。...size_t pos=str.rfind(' '); cout<<str.size()-(pos+1)<<endl; } // 64 位输出请用 printf("%lld") 4. 387.字符串中的第一个唯一字符...,故重新定义一个字符串,用来保存将原字符串中将大写变为小写的新字符串。...介绍要用到的函数isalnum(char c) 是否为字母或者数字;islower(char c) 是否为小写字母 遍历s查找里面的字符,不管是不是小写,一律都转化成小写。

    9210

    不再纠结,一文详解pandas中的map、apply、applymap、groupby、agg...

    map()还有一个参数na_action,类似R中的na.action,取值为None或ingore,用于控制遇到缺失值的处理方式,设置为ingore时串行运算过程中将忽略Nan值原样返回。...譬如这里我们编写一个使用到多列数据的函数用于拼成对于每一行描述性的话,并在apply()用lambda函数传递多个值进编写好的函数中(当调用DataFrame.apply()时,apply()在串行过程中实际处理的是每一行数据...比如下面我们利用apply()来提取name列中的首字母和剩余部分字母: data.apply(lambda row: (row['name'][0], row['name'][1:]), axis=1...3.2 利用agg()进行更灵活的聚合 agg即aggregate,聚合,在pandas中可以利用agg()对Series、DataFrame以及groupby()后的结果进行聚合。...其传入的参数为字典,键为变量名,值为对应的聚合函数字符串,譬如{'v1':['sum','mean'], 'v2':['median','max','min]}就代表对数据框中的v1列进行求和、均值操作

    5K10
    领券