我在一个python教程网站上找到了以下代码:
from nltk.tag import StanfordNERTagger
stanford_classifier = open("english.all.3class.distsim.crf.ser.gz")
stanford_ner_path = open("stanford-ner.jar")
st = StanfordNERTagger(stanford_classifier, stanford_ner_path)
Run Code Online (Sandbox Code Playgroud)
错误如下:
from nltk.tag import StanfordNERTagger
stanford_classifier = open("english.all.3class.distsim.crf.ser.gz")
stanford_ner_path = open("stanford-ner.jar")
st = StanfordNERTagger(stanford_classifier, stanford_ner_path)
Run Code Online (Sandbox Code Playgroud) 我有以下数据框:
PplNum RoomNum Value
0 1 0 265
1 1 12 170
2 2 0 297
3 2 12 85
4 2 0 41
5 2 12 144
Run Code Online (Sandbox Code Playgroud)
一般来说,PplNumandRoomNum是这样生成的,并且它总是遵循以下格式:
for ppl in [1,2,2]:
for room in [0, 12]:
print(ppl, room)
Run Code Online (Sandbox Code Playgroud)
1 0
1 12
2 0
2 12
2 0
2 12
Run Code Online (Sandbox Code Playgroud)
但现在我想要实现的是标记 和 的那些重复组合,PplNum以便RoomNum我可以知道哪些组合是第一次出现,哪些组合是第二次出现,依此类推......所以预期的输出 Dataframe 将是这样的:
PplNum RoomNum Value C
0 1 0 265 1
1 1 12 170 1
2 …Run Code Online (Sandbox Code Playgroud) 我正在尝试将频率值转换为注释,例如输入 400 Hz 打印“A4”,但我不想在代码中编写完整的频率表。有什么办法可以做到这一点吗?
我有一个数据框“数据”,其中有一列“城市”,它似乎是一个元组。然而,当我尝试访问它的元素时,它出现在字符串中。如下所示:
data.city[0]
Run Code Online (Sandbox Code Playgroud)
输出是:
"(0, ['New York', 'Delhi', 'Bangkok'])"
Run Code Online (Sandbox Code Playgroud)
显然,所有项目都是字符串格式。
我想要的输出如下:
(0, ['New York', 'Delhi', 'Bangkok'])
Run Code Online (Sandbox Code Playgroud)
我怎样才能实现这个目标?
我试图找到二维 numpy 数组中最常见的元素。我想要它们按行或按列。我搜索了文档和网络,但找不到我正在寻找的内容。让我用一个例子来解释一下;假设我有arr如下:
import numpy as np
arr = np.random.randint(0, 2, size=(5, 2))
arr
# Output
array([[1, 1],
[0, 0],
[0, 1],
[1, 1],
[1, 0]])
Run Code Online (Sandbox Code Playgroud)
预期输出是一个数组,其中包含列或行中最常见的元素,具体取决于给定的axis输入。我知道np.unique()返回给定输入数组中每个唯一值的计数axis。因此,它计算二维数组中唯一的行或列:
np.unique(arr, return_counts=True, axis=0)
# Output
(array([[0, 0],
[0, 1],
[1, 0],
[1, 1]]), array([1, 1, 1, 2]))
Run Code Online (Sandbox Code Playgroud)
因此,它表明唯一元素[0, 0]、[0, 1]和[1, 0]出现一次,而[1, 1]在 中出现两次arr。这对我不起作用。因为我需要查看行(或列)中最常见的元素。所以我的预期输出如下:
array([[1, 1], # --> 1
[0, 0], # --> 0
[0, 1], …Run Code Online (Sandbox Code Playgroud) 我有一个这样的行列表:
Lines = ['1', '2', '3', '4', '5', '6', '7', '8']
Run Code Online (Sandbox Code Playgroud)
每条线有两个点 I 和 J:
LinesDetail = {
'1': {
'I': '100',
'J': '101'},
'2': {
'I': '101',
'J': '102'},
'3': {
'I': '256',
'J': '257'},
'4': {
'I': '257',
'J': '258'},
'5': {
'I': '258',
'J': '259'},
'6': {
'I': '304',
'J': '305'},
'7': {
'I': '305',
'J': '306'},
'8': {
'I': '102',
'J': '103'}}
Run Code Online (Sandbox Code Playgroud)
正如您在图片中看到的,其中一些线具有相互点,因此它们相互连接,我需要知道哪些线相互连接。
我尝试了 while 循环,但我不知道如何解决此类问题的基本概念。

结果是:
result = [["1","2","8"],["3","4","5"],["6","7"]]
Run Code Online (Sandbox Code Playgroud)
所有线都是垂直的
我不小心漏掉了括号
/true|false/
Run Code Online (Sandbox Code Playgroud)
但它成功了!据我所知, a 的|意思是“前面的模式或后面的模式”,所以e或f,或相当于/tru(e|f)alse/。后来我注意到了我的错误,但很困惑。这不应该只匹配truealseand吗trufalse?然后我做了更多测试,发现它也符合这些!为什么会匹配true、false、truealse和trufalse?
小提琴: https: //regex101.com/r/90CEll/1
python ×6
pandas ×2
algorithm ×1
dataframe ×1
file-io ×1
frequency ×1
graph-theory ×1
numpy ×1
plot ×1
python-3.x ×1
regex ×1
stanford-nlp ×1
string ×1
typeerror ×1
while-loop ×1