Родословная пролога

Вы можете назначить маску, созданную с помощью Series.isin для обеих сторон отфильтрованного кадра данных, и при необходимости добавить errors='coerce' для преобразования нечисловых значений в NaN:

m = data.eName.isin(['sample3','sample4'])
cols = ['Value1', 'Value2']
#if need all columns without eName 
#cols = df.columns.difference(['eName'])
data.loc[m, cols] = data.loc[m , cols].apply(pd.to_numeric, errors='coerce')
print (data)
     eName   Value1   Value2   NValue
0  sample1      XYZ      XYZ      XYZ
1  sample2  102 XYZ  102 XYZ  102 XYZ
2  sample3        3        3      NaN
3  sample4        3        3      NaN

Если нужны все столбцы без первого:

m = data.eName.isin(['sample3','sample4']).values
data.iloc[m, 1:] = data.iloc[m , 1:].apply(pd.to_numeric, errors='coerce')

8
задан Bill the Lizard 21 September 2012 в 17:25
поделиться

3 ответа

Похоже, что некоторые Ваши аксиомы являются неправильными или пропавшие без вести, при попытке копировать схему.

пропавшие без вести:

female(jane).

father(john, bob).

неправильно:

father(john, sue).

Это могло бы вызвать одноуровневое правило конфликтовать. Но что я знаю о прологе

5
ответ дан 5 December 2019 в 15:26
поделиться

оптимизировать правило брата для Х не является братом самому себе.

Вы должны сделать:

brother(X, Y) :-
      sibling(X, Y),
      male(X),
      not X=Y.
1
ответ дан 5 December 2019 в 15:26
поделиться

Ваше правило брата уже проверяет это brother(bob, bob) перестанет работать, потому что это звонит sibling(X, Y), который делает проверку для проверки X \= Y уже.

Кроме того, выглядит, как будто все работает над моей машиной, но я должен был изменить тире на этих строках:

aunt(X, Y) :– female(X), sibling(X, Z), parent(Z, Y).
aunt(X, Y) :– female(X), spouse(X, W), sibling(W, Z), parent(Z, Y).

кому:

aunt(X, Y) :- female(X), sibling(X, Z), parent(Z, Y).
aunt(X, Y) :- female(X), spouse(X, W), sibling(W, Z), parent(Z, Y).

Да, они выглядят идентичными, но тире в главной версии немного длиннее... и, казалось, вызвали проблемы, когда я "консультировался" с файлом.

Я только поймал это, потому что я создал цветовую схему Пролога для Блокнота ++, если кому-либо интересно, я могу разместить его в Интернете.

3
ответ дан 5 December 2019 в 15:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: