конкатенация столбцов в пределах фрейма данных - PullRequest
0 голосов
/ 02 июля 2018

У меня есть большой CSV-файл, в котором я отфильтровал нужные строки и создал меньшие, более управляемые фреймы данных (называемые «CL»). У каждой строки есть Месяц контракта и Год контракта как в Int64 (я полагаю). Я хочу создать столбец, объединяющий их в формате даты (например, MM-YYYY) и имеющий трудности.

Я пробовал как извлечь столбцы из серии панд и преобразовать в строку

series.to_string

, а также отдельные столбцы с

CL['CONTRACT MONTH']= CL['CONTRACT MONTH'].astype(str)

Последний метод выдает мне сообщение "... SettingWithCopyWarning: Значение пытается быть установлено для копии среза из DataFrame. Попробуйте вместо этого использовать .loc [row_indexer, col_indexer] = value "

Немного над этим (просто изучая Python) и надеясь на некоторую помощь.

1 Ответ

0 голосов
/ 02 июля 2018

Вы можете объединить строки в серии Pandas, используя +. Кроме того, вы можете использовать pd.Series.str.zfill, чтобы месяцы всегда имели 2 символа:

df = pd.DataFrame([[10, 1995], [3, 1996], [2, 1998], [5, 2000]],
                  columns=['MONTH', 'YEAR'])

df['DATE'] = df['MONTH'].astype(str).str.zfill(2) + '-' + df['YEAR'].astype(str)

print(df)

   MONTH  YEAR     DATE
0     10  1995  10-1995
1      3  1996  03-1996
2      2  1998  02-1998
3      5  2000  05-2000

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

...