Перебор массива Numpy, чтобы изменения отражались в DataFrame (через ссылку) - PullRequest
0 голосов
/ 25 февраля 2020

я хочу перебрать массив Numpy, который является ссылкой на pandas Dataframe. Причина, по которой я этого хочу, заключается в том, что я могу l oop в массиве Numpy, и изменения отражаются в кадре данных.

Я использую массив Numpy, потому что хочу произвольно выбирать строки из массива (через np.random.choice(firstNamesNumpyArray, size=50), измените их на l oop (например, все firstNames - 'x') и посмотрите изменения в dataFrame (lines_df).

   with open('input_01.csv', 'r') as csv_file:
   lines_df = pd.read_csv(csv_file, sep=',', delimiter=None, encoding="utf-8", error_bad_lines=False, nrows=150,
                          header=0)

initialDFfirstNames = lines_df['firstNames']

firstNamesNumpyArray = initialDFfirstNames.to_numpy()

with np.nditer(firstNamesNumpyArray, op_flags=['readwrite'], flags=['refs_OK']) as it:
   for x in it:
       x[...] = 'x'

InitialDFfirstNames выглядит следующим образом .

0         Boy
1      Stella
2      Elsina
3       Defne
4       Djura
       ...   
95       Coby
96    Michele
97     Jildau
98     Tamira
99       Fynn
Name: firstNames, Length: 100, dtype: object

Я использую np.nditer в качестве итератора, но это дает ошибку: ValueError: Unexpected iterator global flag "refs_OK"

Но когда я убираю этот флаг, я получаю ошибку Iterator operand or requested dtype holds references, but the REFS_OK was not enabled.

Я знаю, что он содержит ссылки, и это именно то, чего я хочу. Любой, кто имеет опыт работы с этим?

С уважением, Даан

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...