Я хочу добавить _x
снабдите суффиксом к каждому имени столбца как так:
featuresA = myPandasDataFrame.columns.values + '_x'
Как я делаю это? Кроме того, если я хотел добавить x_
как суффикс, как решение изменилось бы?
, При попытке изменить df
оперативный, затем самое дешевое (и самый простой) опция существует дополнение непосредственно на [1 110] (т.е. использование Index.__iadd__
).
df = pd.DataFrame({"A": [9, 4, 2, 1], "B": [12, 7, 5, 4]})
df
A B
0 9 12
1 4 7
2 2 5
3 1 4
df.columns += '_some_suffix'
df
A_some_suffix B_some_suffix
0 9 12
1 4 7
2 2 5
3 1 4
Для добавления префикса Вы так же использовали бы
df.columns = 'some_prefix_' + df.columns
df
some_prefix_A some_prefix_B
0 9 12
1 4 7
2 2 5
3 1 4
<час> , Другая дешевая опция использует понимание списка с [1 112] форматирование (доступный на python3.6 +).
df.columns = [f'{c}_some_suffix' for c in df]
df
A_some_suffix B_some_suffix
0 9 12
1 4 7
2 2 5
3 1 4
И для префикса, точно так же
df.columns = [f'some_prefix{c}' for c in df]
<час> , который также возможно сделать, добавляет *, фиксирует в то время как объединение в цепочку метода. Для добавления суффикса используйте DataFrame.add_suffix
df.add_suffix('_some_suffix')
A_some_suffix B_some_suffix
0 9 12
1 4 7
2 2 5
3 1 4
, Это возвращается копия из данных. IOW, df
не изменяется.
Добавляющие префиксы также сделан с [1 115].
df.add_prefix('some_prefix_')
some_prefix_A some_prefix_B
0 9 12
1 4 7
2 2 5
3 1 4
, Который также не изменяет df
.
Это хорошие методы, при попытке выполнить объединение в цепочку метода:
df.some_method1().some_method2().add_*fix(...)
Однако add_prefix
(и add_suffix
) создает копию цельный кадр данных, только для изменения заголовков. Если Вы полагаете, что это расточительно, но все еще хотят объединить в цепочку, можно звонить pipe
:
def add_suffix(df):
df.columns += '_some_suffix'
return df
df.some_method1().some_method2().pipe(add_suffix)