python中>>>符号可以用手敲吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中>>>符号可以用手敲吗相关的知识,希望对你有一定的参考价值。

参考技术A 是可以的。像这种特殊符号只能是用手敲出来。没有其他的方式方法。也不可以复制上去。

在 Python 中,如何对包含重音符号的数据框进行排序?

【中文标题】在 Python 中,如何对包含重音符号的数据框进行排序?【英文标题】:In Python, how to sort a dataframe containing accents? 【发布时间】:2018-10-17 11:16:44 【问题描述】:

我使用 sort_values 对数据框进行排序。数据框包含带有重音符号的 UTF-8 字符。这是一个例子:

>>> df = pd.DataFrame ( [ ['i'],['e'],['a'],['é'] ] )
>>> df.sort_values(by=[0])
   0
2  a
1  e
0  i
3  é

如您所见,带重音的“é”在末尾,而不是在没有重音的“e”之后。

请注意,真正的数据框有几列!

【问题讨论】:

我建议去掉变音符号进行排序,然后重新添加它们。 您使用的是哪个版本的 Python? 你被介绍给locale了吗? 3.5.2(默认,2017 年 11 月 23 日,16:37:01) 您能否更具体地了解变音符号和语言环境? 【参考方案1】:

这是一种方式。 @JonClements 建议的最简单的解决方案:

df = df.iloc[df[0].str.normalize('NFKD').argsort()]

另一种冗长的解决方案,规范化代码courtesy of @EdChum:

df = pd.DataFrame([['i'],['e'],['a'],['é']])

df = df.iloc[df[0].str.normalize('NFKD').argsort()]

# remove accents
df[1] = df[0].str.normalize('NFKD')\
             .str.encode('ascii', errors='ignore')\
             .str.decode('utf-8')

# sort by new column, then drop
df = df.sort_values(1, ascending=True)\
       .drop(1, axis=1)

print(df)

   0
2  a
1  e
3  é
0  i

【讨论】:

在这种情况下 - 可能是:df.iloc[df[0].str.normalize('NFKD').argsort()] 就是所需要的... 我们需要编码成ASCII吗?一旦我们这样做了,我们就不再拥有所有的 é。 @DSM,这很好,但应该先出现,eé 如您所见,带重音的“é”在末尾,而不是在没有重音的“e”之后。 - 似乎暗示它是首选在普通的 ASCII 字符之后...但是为什么在一天结束时这真的应该重要而不是仅仅“与它在一起”是另一个问题...

以上是关于python中>>>符号可以用手敲吗的主要内容,如果未能解决你的问题,请参考以下文章

自动绘制 svg 符号

python中逗号在print的作用能不能用其他符号替代

如何在python中为dict使用点符号?

Python 方法签名中的 ->(破折号大于箭头符号)是啥意思? [复制]

使用符号构建字符串

在 Python 中,如何对包含重音符号的数据框进行排序?