Добавление пустого столбца к кадру с продолжением соглашения об имени / номере

Вы не можете. Обычно это выполняется с динамическим распределением памяти.

// Like "ENEMY enemies[100]", but from the heap
ENEMY* enemies = malloc(100 * sizeof(ENEMY));
if (!enemies) { error handling }

// You can index pointers just like arrays.
enemies[0] = CreateEnemy();

// Make the array bigger
ENEMY* more_enemies = realloc(enemies, 200 * sizeof(ENEMY));
if (!more_enemies) { error handling }
enemies = more_enemies;

// Clean up when you're done.
free(enemies);
1
задан rgh_dsa 17 January 2019 в 21:42
поделиться

2 ответа

Не самая красивая, но вы найдете максимальное число, используя split, найдите местоположение max и вставьте столбец

df = pd.DataFrame(columns=['node_1', 'node_2', 'node_3','node_4','node_5','node_6','node_7','node_8','node_9','node_10','node_11','B'])


num = max(map(int, df.filter(like = 'node_').columns.str.split('_').str[1]))
loc = df.columns.get_loc('node' + '_' + str(num)) + 1
column = 'node'+ '_'+str(num + 1)
df.insert(loc, column, np.nan)

print(df.columns)

Index(['node_1', 'node_2', 'node_3', 'node_4', 'node_5', 'node_6', 'node_7', 'node_8', 'node_9', 'node_10', 'node_11', 'node_12', 'B'],
  dtype='object')
0
ответ дан Vaishali 17 January 2019 в 21:42
поделиться

Реализовано на примере кадра -

df = pd.DataFrame(np.random.rand(4,12), columns=['node_1', 'node_2', 'node_3', 'node_4','node_5','node_6','node_7','node_8','node_9','node_10','node_11','B']) 

+---+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+
|   |  node_1  |  node_2  |  node_3  |  node_4  |  node_5  |  node_6  |  node_7  |  node_8  |  node_9  | node_10  | node_11  |    B     |
+---+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+
| 0 | 0.626458 | 0.798481 | 0.316018 | 0.159890 | 0.507015 | 0.027955 | 0.020401 | 0.743001 | 0.914910 | 0.238461 | 0.541814 | 0.134738 |
| 1 | 0.927695 | 0.115338 | 0.378937 | 0.090682 | 0.644118 | 0.715846 | 0.049830 | 0.713174 | 0.403888 | 0.825648 | 0.376064 | 0.594877 |
| 2 | 0.592890 | 0.634705 | 0.711854 | 0.772723 | 0.451578 | 0.831289 | 0.009033 | 0.100541 | 0.114469 | 0.873390 | 0.807368 | 0.550358 |
| 3 | 0.467856 | 0.915798 | 0.889654 | 0.529412 | 0.525272 | 0.546177 | 0.724698 | 0.539031 | 0.587709 | 0.402088 | 0.464548 | 0.533932 |
+---+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+


cols = np.array(list(zip(*df.filter(like='node_').columns.str.split('_')))[1], dtype=int)
cols.sort()
idx = arr[-1] # new column index
df.insert(loc=int(idx), column='node_'+str(idx+1), value='')
df


+---+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+---------+----------+
|   |  node_1  |  node_2  |  node_3  |  node_4  |  node_5  |  node_6  |  node_7  |  node_8  |  node_9  | node_10  | node_11  | node_12 |    B     |
+---+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+---------+----------+
| 0 | 0.626458 | 0.798481 | 0.316018 | 0.159890 | 0.507015 | 0.027955 | 0.020401 | 0.743001 | 0.914910 | 0.238461 | 0.541814 |         | 0.134738 |
| 1 | 0.927695 | 0.115338 | 0.378937 | 0.090682 | 0.644118 | 0.715846 | 0.049830 | 0.713174 | 0.403888 | 0.825648 | 0.376064 |         | 0.594877 |
| 2 | 0.592890 | 0.634705 | 0.711854 | 0.772723 | 0.451578 | 0.831289 | 0.009033 | 0.100541 | 0.114469 | 0.873390 | 0.807368 |         | 0.550358 |
| 3 | 0.467856 | 0.915798 | 0.889654 | 0.529412 | 0.525272 | 0.546177 | 0.724698 | 0.539031 | 0.587709 | 0.402088 | 0.464548 |         | 0.533932 |
+---+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+---------+----------+
0
ответ дан meW 17 January 2019 в 21:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: