Как добавить фиктивные данные в конец датафрейма? - PullRequest
0 голосов
/ 25 октября 2018

У меня есть 700 столбец данных кадра.

Я хочу добавить a к каждому столбцу в последнем ряду. Как мне это сделать?

col. col2
1.    2
3.    2
a.    a 

Ответы [ 3 ]

0 голосов
/ 25 октября 2018

Использование loc (и передача длины кадра данных) работает в большинстве случаев:

df.loc[len(df)] = 'a'

Полный пример

import pandas as pd

df = pd.DataFrame({
    'col1': [1, 2],
    'col2': [3, 4]
})

df.loc[len(df)] = 'a'

print(df)

#  col1 col2
#0    1    3
#1    2    4
#2    a    a

Небольшое предупреждение : Предполагается, что у вас есть индекс, который начинается с 0. (И так как индекс начинается с 0, len (df) - это следующее число в строке.)

Возможный обходной путь, если индекс равеннеправильно пронумеровано : используйте df.reset_index(drop=True, inplace=True)

0 голосов
/ 25 октября 2018

Вы можете использовать метод loc следующим образом:

#df being the original dataframe
df.loc[len(df)] = [ 'a' for _ in range(df.shape[1])] 
0 голосов
/ 25 октября 2018

На месте с loc

Обратите внимание, что я указываю значение индекса 'new_idx'.Я не делаю никаких предположений о вашем индексе.Даже если вы используете len(df), это может уже существовать в качестве значения индекса.Я не могу этого знать.Так что вы должны использовать значение индекса, которое является новым.Если он не новый, то он перезапишет существующую строку.

df.loc['new_idx'] = ['a' for _ in range(df.shape[1])]

В строке с append

Это менее строго.Если значение индекса 'new_idx' уже существует в df.index, будет создана еще одна строка с дублирующимся значением индекса.

df.append(pd.Series('a', df.columns, name='new_idx'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...