2024-05-16 11:49:05 发布
网友
如果您有这样一个Pandas数据帧,则按此方式过滤:
df = pd.DataFrame({'name1': ['apple','pear','applepie','APPLE'], 'name2': ['APPLE','PEAR','apple','APPLE'] }) df[df['name1'] != df['name2']] # works
但是,当您要比较列的上限值时,如何过滤行呢?在
您需要使用^{},因为df['name1']是一系列字符串,因此我们使用^{}字符串访问器进行矢量化字符串操作。在
df['name1']
df[df['name1'].str.upper() != df['name2'].str.upper()]
输出:
对于ASCII码,请检查上面的:)
正如观察到的那样,在@Veedrac的this very good answer之后,如果您想比较许多语言中的许多行不区分大小写,那么您可能需要先normalize和{}的值
normalize
df.col.str.normalize('NFKD').transform(str.casefold)
示例
以及
df.t.str.lower().duplicated() 0 False 1 False 2 True 3 False 4 False 5 True 6 False 7 False
但是
df.t.str.normalize('NFKD').transform(str.casefold).duplicated(keep=False) 0 True 1 False 2 True 3 True 4 True 5 True 6 True 7 True
在处理pandas中的字符串时,通常使用列表理解会更快一些。在
pd.DataFrame( [[i, j] for i, j in zip(df.name1, df.name2) if i.upper() != j.upper()], columns=df.columns ) name1 name2 0 applepie apple
一些时间安排:
您需要使用^{} ,因为} 字符串访问器进行矢量化字符串操作。在
df['name1']
是一系列字符串,因此我们使用^{输出:
^{pr2}$对于ASCII码,请检查上面的:)
正如观察到的那样,在@Veedrac的this very good answer之后,如果您想比较许多语言中的许多行不区分大小写,那么您可能需要先}的值
normalize
和{示例
^{pr2}$以及
但是
在处理pandas中的字符串时,通常使用列表理解会更快一些。在
一些时间安排:
^{pr2}$相关问题 更多 >
编程相关推荐