Добавить значение строки из одного фрейма данных в другой - PullRequest
0 голосов
/ 22 января 2020

Я пытаюсь перебрать таблицу и скопировать / добавить строку в другую таблицу, основываясь на ее значении в столбце. Таким образом, если значение в 3-м столбце равно -1, вся строка копируется в другую таблицу (t_neg1).


cluster_table = clusters
table                        = [cluster_table, Label]
cluster_table                = pd.concat(table,  axis = 1, sort = False)
col                          = list(["X", "Y", "Cluster ID"])

# This part below here is causing me issues.
t_neg1 = pd.DataFrame()
t_0    = pd.DataFrame()

# I'm sures there's a better way to handle this but I'll look into it later
i = 0
for i in range(len(cluster_table)):
    if cluster_table['Cluster ID'].loc == -1:
        t_neg1.copy(cluster_table.loc[i])
    if cluster_table['Cluster ID'].loc == 0:
        t_0.copy(cluster_table.loc[i])


        i += 1

print(t_neg1)

Может кто-нибудь взглянуть на мой код и сказать, что я делаю не так.

Ответы [ 4 ]

0 голосов
/ 22 января 2020

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

https://www.geeksforgeeks.org/max-min-python/

0 голосов
/ 22 января 2020

value = (i - min) / (max - min)

Здесь min & max - это 'встроенные_функции_или_методы', а не значения (int / float / double). Следовательно, операция '-' имеет неправильные операнды неправильных типов.

В соответствии с вашими потребностями, сначала присвойте значения min и max, затем вы можете использовать как есть. до

0 голосов
/ 22 января 2020

В Python нет встроенного типа данных column, поэтому вы должны привести нам пример.

Как показывает сообщение об ошибке, вы делаете что-то wrong со Python встроенными .

min и max являются функциями Python - вы не можете добавлять или вычитать их.

Хотя возможно переопределить min и max, пожалуйста, не делайте Сделайте это, поскольку именно такие ошибки могут произойти.

Если вы не можете найти более подходящее имя, пожалуйста, используйте min_ и max_ - добавление подчеркивания для предотвращения встроенных встроенных теней является обычной практикой Python.

0 голосов
/ 22 января 2020

Ваш код не завершен, но, похоже, вы ищете это:

for n, i in enumerate(fcma):
    value = (i - min) / (max - min)
    fcma[n] =value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...