精华内容
下载资源
问答
  • 我喜欢过滤掉字符串长度不等于10的数据。如果我尝试过滤掉列A或B的字符串长度不等于10的任何行,则尝试这样做。df=pd.read_csv('filex.csv')df.A=df.A.apply(lambda x: x if len(x)== 10 else np.nan)df.B=df.B....

    我喜欢过滤掉字符串长度不等于10的数据。

    如果我尝试过滤掉列A或B的字符串长度不等于10的任何行,则尝试这样做。

    df=pd.read_csv('filex.csv')

    df.A=df.A.apply(lambda x: x if len(x)== 10 else np.nan)

    df.B=df.B.apply(lambda x: x if len(x)== 10 else np.nan)

    df=df.dropna(subset=['A','B'], how='any')

    这工作缓慢,但正在工作。

    但是,当A中的数据不是字符串而是数字(在read_csv读取输入文件时解释为数字)时,有时会产生错误。

    File "", line 1, in

    TypeError: object of type 'float' has no len()

    我相信应该有更高效,更优雅的代码来代替。

    根据下面的答案和评论,我找到的最简单的解决方案是:

    df=df[df.A.apply(lambda x: len(str(x))==10]

    df=df[df.B.apply(lambda x: len(str(x))==10]

    要么

    df=df[(df.A.apply(lambda x: len(str(x))==10) & (df.B.apply(lambda x: len(str(x))==10)]

    or

    df=df[(df.A.astype(str).str.len()==10) & (df.B.astype(str).str.len()==10)]

    展开全文
  • 我喜欢筛选出字符串长度不等于10的数据。如果我试图筛选出任何列A或B的字符串长度不等于10的行,我尝试了这个方法。df=pd.read_csv('filex.csv')df.A=df.A.apply(lambda x: x if len(x)== 10 else np.nan)df.B=df.B....

    我喜欢筛选出字符串长度不等于10的数据。

    如果我试图筛选出任何列A或B的字符串长度不等于10的行,我尝试了这个方法。df=pd.read_csv('filex.csv')

    df.A=df.A.apply(lambda x: x if len(x)== 10 else np.nan)

    df.B=df.B.apply(lambda x: x if len(x)== 10 else np.nan)

    df=df.dropna(subset=['A','B'], how='any')

    这工作很慢,但很有效。

    但是,当A中的数据不是字符串而是数字(读取csv时解释为数字)时,有时会产生错误。File "", line 1, in

    TypeError: object of type 'float' has no len()

    我相信应该有更高效和优雅的代码来代替这个。

    根据下面的答案和评论,我找到的最简单的解决方案是:df=df[df.A.apply(lambda x: len(str(x))==10]

    df=df[df.B.apply(lambda x: len(str(x))==10]

    或者df=df[(df.A.apply(lambda x: len(str(x))==10) & (df.B.apply(lambda x: len(str(x))==10)]

    或者df=df[(df.A.astype(str).str.len()==10) & (df.B.astype(str).str.len()==10)]

    展开全文
  • 下面看下字符串List按照长度排序(python)的实现方法myList = ['青海省','内蒙古自治区','西藏自治区','新疆维吾尔自治区','广西壮族自治区']1、首先得到每个字符串长度2、排序,选择sorted或者 list.sort()进行...

    202011271606438876165580.png

    下面看下字符串List按照长度排序(python)的实现方法

    myList = ['青海省','内蒙古自治区','西藏自治区','新疆维吾尔自治区','广西壮族自治区']

    1、首先得到每个字符串长度

    2、排序,选择sorted或者 list.sort()进行排序

    内置sorted返回一个新的列表,而list.sort是对列表进行操作

    sorted(iterable, cmp=None, key=None, reverse=False)

    iterable:是可迭代类型;

    cmp:用于比较的函数,比较什么由key决定;

    key:用列表元素的某个属性或函数进行作为关键字,有默认值,迭代集合中的一项;

    reverse:排序规则. reverse = True 降序 或者 reverse = False 升序,有默认值。

    返回值:是一个经过排序的可迭代类型,与iterable一样。

    myList = ['青海省','内蒙古自治区','西藏自治区','新疆维吾尔自治区','广西壮族自治区']

    myList1 = sorted(myList,key = lambda i:len(i),reverse=True)

    print(myList1)

    myList = ['青海省','内蒙古自治区','西藏自治区','新疆维吾尔自治区','广西壮族自治区']

    myList.sort(key = lambda i:len(i),reverse=True)

    print(myList)

    结果如下:

    ['新疆维吾尔自治区', '广西壮族自治区', '内蒙古自治区', '西藏自治区', '青海省']

    PS:下面看下列表中字符串按照某种规则排序的方法(python)

    有时候处理数据时,想要按照字符串中的数字的大小进行排序。

    譬如,存在一组记录文件,分别为‘1.dat','2.dat'...

    当我把该文件夹中的所有记录文件名读到一个列表中,这些字符串的排列方式为:

    如何让这些字符串按照数字排列?

    1、首先通过正则表达式,提取出字符串中的数字

    2、排序,选择built-in函数sorted进行排序

    sorted(iterable, cmp=None, key=None, reverse=False)

    iterable:是可迭代类型;

    cmp:用于比较的函数,比较什么由key决定;

    key:用列表元素的某个属性或函数进行作为关键字,有默认值,迭代集合中的一项;

    reverse:排序规则. reverse = True 降序 或者 reverse = False 升序,有默认值。

    返回值:是一个经过排序的可迭代类型,与iterable一样。

    所以说排序方式按照数字拍的话,key就要对应里面的数字。

    所以,这个问题只需一句话解决:

    s = ['1.dat','10.dat','5.dat']

    new = sorted(s,key = lambda i:int(re.match(r'(\d+)',i).group()))

    print new

    得到的结果即为

    对于该操作,同样可以使用list.sort(),python2.4之后,list.sort和sorted都添加了一个key参数用来指定一个函数

    不同的地方是:内置sorted返回一个新的列表,而list.sort是对列表进行操作

    s = ['1.dat','10.dat','5.dat']

    s.sort(key = lambda i:int(re.match(r'(\d+)',i).group()))

    print s

    总结

    以上所述是小编给大家介绍的Python中字符串List按照长度排序,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

    展开全文
  • I like to filter out data whose string length is not equal to 10.If I try to filter out any row whose column A's or B's string length is not equal to 10, I tried this.df=pd.read_csv('filex.csv')df.A=d...

    I like to filter out data whose string length is not equal to 10.

    If I try to filter out any row whose column A's or B's string length is not equal to 10, I tried this.

    df=pd.read_csv('filex.csv')

    df.A=df.A.apply(lambda x: x if len(x)== 10 else np.nan)

    df.B=df.B.apply(lambda x: x if len(x)== 10 else np.nan)

    df=df.dropna(subset=['A','B'], how='any')

    This works slow, but is working.

    However, it sometimes produce error when the data in A is not a string but a number (interpreted as a number when read_csv read the input file).

    File "", line 1, in

    TypeError: object of type 'float' has no len()

    I believe there should be more efficient and elegant code instead of this.

    Based on the answers and comments below, the simplest solution I found are:

    df=df[df.A.apply(lambda x: len(str(x))==10]

    df=df[df.B.apply(lambda x: len(str(x))==10]

    or

    df=df[(df.A.apply(lambda x: len(str(x))==10) & (df.B.apply(lambda x: len(str(x))==10)]

    or

    df=df[(df.A.astype(str).str.len()==10) & (df.B.astype(str).str.len()==10)]

    解决方案import pandas as pd

    df = pd.read_csv('filex.csv')

    df['A'] = df['A'].astype('str')

    df['B'] = df['B'].astype('str')

    mask = (df['A'].str.len() == 10) & (df['B'].str.len() == 10)

    df = df.loc[mask]

    print(df)

    Applied to filex.csv:

    A,B

    123,abc

    1234,abcd

    1234567890,abcdefghij

    the code above prints

    A B

    2 1234567890 abcdefghij

    展开全文
  • 本文实例讲述了Python学习笔记之lambda表达式用法。分享给大家供大家参考,具体如下:Lambda 表达式使用 Lambda 表达式创建匿名函数,即没有名称的函数。lambda 表达式非常适合快速创建在代码以后不会用到的函数。...
  • I want to sort a list of strings based on the string ... I tried to use sort as follows, but it doesn't seem to give me correct result.xs = ['dddd','a','bb','ccc']print xsxs.sort(lambda x,y: len(x...
  • 下面看下字符串List按照长度排序(python)的实现方法myList = ['青海省','内蒙古自治区','西藏自治区','新疆维吾尔自治区','广西壮族自治区']1、首先得到每个字符串长度2、排序,选择sorted或者 list.sort()进行...
  • s=["q","abc","tx","zzui","aa11"... print s.sort(key=lambda x:len(x)) print s s.sort() print s s=['e', 'ey', 'eyj', 'eyjuo', '
  • 给定一个字符串,如何得到其中重复模式最高的子字符串,我采用的方法是使用滑窗机制,对给定的字符串切分,窗口的大小从1增加到字符串长度减1,将所有的得到的切片统计结果,在这里不考虑单个字符的重复模式,好了,...
  • 下面看下字符串List按照长度排序(python)的实现方法myList = ['青海省','内蒙古自治区','西藏自治区','新疆维吾尔自治区','广西壮族自治区']1、首先得到每个字符串长度2、排序,选择sorted或者 list.sort()进行...
  • 给定一个字符串,如何得到其中重复模式最高的子字符串,我采用的方法是使用滑窗机制,对给定的字符串切分,窗口的大小从1增加到字符串长度减1,将所有的得到的切片统计结果,在这里不考虑单个字符的重复模式,好了,...
  • Python 字符串常见操作及 面试题:输出字符串中重复的字符 创建字符串 name=“water_melon” 切片 name[1] ‘a’ name[0: -1] 第一个到倒数第一个,不包含倒数第一 ‘water_melo’ 索引 name.index(‘e’,2) 获取...
  • 看了西红柿的博客,此文纯搬运,方便自己查询用。原文:https://www.cnblogs.com/tomato0906/articles/4890701.html1、python中字符串类型是不允许...所以在python中字符串排序需要好几行代码:s="string"l=list...
  • python中lambda的用法

    万次阅读 多人点赞 2019-04-04 15:00:08
    lambdaPython编程使用的频率非常高,我们通常提及的lambda表达式其实是python中的一类特殊的定义函数的形式,使用它可以定义一个匿名函数。即当你需要一个函数,但又不想费神去命名一个函数,这时候,就可以...
  • python字符串进行长度排序,当长度相同是进行字典序排序 方法一:可以分为两次,先进行字典序排序,再进行长度排序。 a=['bcdefg','abcdef','ija','abc','abcd'] a.sort() a.sort(key=len) print(a) >>>...
  • 展开全部file_path = 路径\22.txtwith open(file_path) as fr:b = list(map(lambda i:list(map(lambda j:float(j),i.split())),fr.readlines()) #一行的分割符号这里默认是空格return b学习的时候,切记冲动,冷静后...
  • Python课程作业 ...由于本身初识Python,很多Python知识并不了解,所以这里主要使用了回溯法求其子字符串,然后通过Python中列表的sort()方法将其按老师要求排序。 str1 = input("请输入一个单词:") ...
  • 字符串python很常见的一种数据类型,比如日志的打印,程序函数的注释,数据库的访问,变量的操作都需要用到字符串。 一、字符串基础 字符串是由独立字符组成的一个序列,通常包含在单引号(’’)双引号("")...
  • python格式化字符串的三种方法(%,format,f-string)

    万次阅读 多人点赞 2019-07-18 23:25:51
    DAY 7....%格式化字符串python最早的,也是能兼容所有版本的一种字符串格式化方法,在一些python早期的库,建议使用%格式化方式,他会把字符串中的格式化符按顺序后面参数替换,格式是 "xxxxxx ...
  • python 3 获取输入字符长度 #-*- coding:utf-8 -*- from tkinter import * from tkinter import messagebox def get_Tk(): top = Tk() return top #定义获取字符长度函数 def sum_test...
  • 1.随便输入一些字符串。 list2 = [] def replace_str(str_len): for i in range(len(str_len)): temp = str_len[i] for j in range(i+1, len(str_len)): if str_len[j] not in temp: ...
  • /usr/bin/pythonimport cProfilefrom timeit import Timerfrom faker import Fakerdef longest1(lists):return max(len(s) for s in lists)def longest2(lists):return len(max(lists, key=len))def longest3...
  • 早上看一篇文章提到如下内容: 1).用lambda配合filter过滤 点评:lambda是一个非常简洁的函数表达方式,短小精悍,加上配合filter...Python 字符串方法:  capitalize() 把字符串的第一个字符改为大写 ...
  • 1、 lambda函数的内涵: (1)定义:lambda表达式,又名匿名表达式。是指一类无需定义标识符(函数名)的函数或子程序,通俗来说是指你需要一个函数,却又不想去给这个函数命名。 (2)格式:lambda 参数 :返回值...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,103
精华内容 8,441
关键字:

python中lambda字符串长度

python 订阅