【发布时间】:2019-11-19 03:05:10
【问题描述】:
我正在尝试通过 Python 对拉丁/非拉丁数据进行分类。如果它是拉丁语,我希望输出为“列名:拉丁语”,如果它是非拉丁语,则输出为“列名:非拉丁语”。这是我正在使用的数据集:
name|company|address|ssn|creditcardnumber
Gauge J. Wiley|Crown Holdings|1916 Central Park Columbus|697-01-963|4175-0049-9703-9147
Dalia G. Valenzuela|Urs Corporation|8672 Cottage|Cincinnati|056-74-804|3653-0049-5620-71
هاها|Exide Technologies|هاها|Washington|139-09-346|6495-1799-7338-6619
我尝试添加以下代码。我没有收到任何错误,但我总是得到“拉丁语”。代码有问题吗?
if any(dataset.name.astype(str).str.contains(u'[U+0000-U+007F]')):
print ('Latin')
else:
print('Non-Latin')
如果有人能告诉我如何将输出显示为“列名:拉丁语”,我会很高兴,列名是从数据帧中迭代出来的
【问题讨论】:
-
你的预期输出是什么?
-
name:Non-Latin company:Latin address:Non-Latin 这是我第一次遇到堆栈溢出。请原谅我犯的任何错误:)
-
@C8H10N4O2 我猜不完全是
-
因为
any(),您一直在学习拉丁语。您需要使用Series.apply() 而不是any()。只需apply()重复问题中编写的函数。您的问题足够接近,可以被视为重复。如果您需要了解如何apply()一个函数,那么您应该重新表述您的问题。
标签: python python-3.x pandas