Как убрать старое значение какой-нибудь матрицы в новую матрицу - PullRequest
0 голосов
/ 20 мая 2019

Я хочу удалить заполненное значение из старой матрицы в мою новую матрицу. Какой синтаксис или код в Python для этого?

Вот матрица из старой матрицы в конечную, на которую я хочу быть похожа. Как это сделать в Python? Есть ли синтаксис или какой-то код для удаления старого значения в новой итоговой матрице?

вот окончательный результат, которым я хочу быть

import numpy as np
import pandas as pd
from pandas import read_csv

read = pd.read_csv('rating_trainingreg.csv')

ratings_df = pd.pivot_table(raw_dataset_df, index='User_ID',
                        columns='Training_ID',
                        aggfunc=np.max)

predicted_ratings_df = pd.DataFrame(index=ratings_df.index,
                                columns=ratings_df.columns,
                                data=predicted_ratings)

reviewed_training_df = reviewed_training_df.join(training_df, 
on='Training_ID')
already_reviewed = reviewed_training_df['Training_ID']
newMatrix = predicted_ratings_df.index,isin(already_reviewed) == False

newMatrix



OLD matirx:

                               Rating   
TrainingID|   1001  |  1002  |  1003  | 1004 |
UserID    |         |        |        |   2  |
1         |    2    |        |        |   3  |
2         |         |    3   |        |      |
3         |    2    |        |        |      |
4         |         |        |        |      |

After some calculation:
                               Rating   
TrainingID|   1001   |  1002   |  1003  | 1004 |
UserID    |     1    |    2    |   2    |   2  |
1         |     2    |    3    |   3    |   3  |
2         |     3    |    3    |   4    |   2  |
3         |     2    |    1    |   4    |   2  |
4         |     4    |    1    |   5    |   2  |

Final matrix that I want:

                               Rating   
TrainingID|   1001  |  1002   |  1003  | 1004 |
UserID    |     1   |    2    |   2    |      |
1         |         |    3    |   3    |      |
2         |     3   |         |   4    |   2  |
3         |         |    1    |   4    |   2  |
4         |     4   |    1    |   5    |   2  |

1 Ответ

0 голосов
/ 20 мая 2019

Может быть, это поможет:

# manual way
newMatrix[2005][1001] = None
newMatrix[2002][1002] = None
newMatrix[2003][1004] = None
newMatrix[2005][1005] = None
newMatrix[2007][1007] = None

Теперь правильный путь, если у вас очень длинная матрица:

# iterate the old matrix to set None in the new matrix where appropriate
for i, j in oldMatrix.iterrows():
    if oldMatrix[i][j]:
        newMatrix[i][j] = None
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...