pd.DataFrame на dataframe - PullRequest
       0

pd.DataFrame на dataframe

0 голосов
/ 09 апреля 2020

Что делает pd.DataFrame на фрейме данных? Пожалуйста, смотрите код ниже.

In [1]: import pandas as pd                                                                                                                           

In [2]: a = pd.DataFrame(dict(a=[1,2,3], b=[4,5,6]))                                                                                                  

In [3]: b = pd.DataFrame(a)                                                                                                                           

In [4]: a['c'] = [7,8,9]                                                                                                                              

In [5]: a                                                                                                                                             
Out[5]: 
   a  b  c
0  1  4  7
1  2  5  8
2  3  6  9

In [6]: b                                                                                                                                             
Out[6]: 
   a  b  c
0  1  4  7
1  2  5  8
2  3  6  9

In [7]: a.drop(columns='c', inplace=True)                                                                                                             

In [8]: a                                                                                                                                             
Out[8]: 
   a  b
0  1  4
1  2  5
2  3  6

In [9]: b                                                                                                                                             
Out[9]: 
   a  b  c
0  1  4  7
1  2  5  8
2  3  6  9

В In[3] функция pd.DataFrame применяется к кадру данных a. Оказывается, идентификаторы a и b разные. Однако, когда столбец добавляется к a, тот же столбец добавляется к b, но когда мы удаляем столбец с a, столбец не удаляется с b. Так что же делает pd.DataFrame? a и b один и тот же объект или разные? Что мы должны сделать с a, чтобы убрать столбец с b? Или как предотвратить добавление столбца в b при добавлении столбца в a?

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

Я бы не создавал фрейм данных из определения функции, а использовал бы вместо этого «добавление». Добавить работы для словарей и датафреймов. Пример добавления на основе словаря:

df = pd.DataFrame(columns=['Col1','Col2','Col3','Col4']) #  create empty df with column names. 
append_dict = {'Col1':value_1, 'Col2':value_2, 'Col3':value_3,'Col4':value_4}
df = df.append(append_dict,ignore_index=True).

Значения могут быть изменены в al oop, так что он что-то делает по отношению к предыдущим значениям. Для добавления данных к фрейму вы можете проверить документацию pandas (просто замените аргумент append_dict на фрейм данных, который вы хотите добавить)

Это то, что вы хотите?

0 голосов
/ 09 апреля 2020

Я бы избегал ваших заявлений любой ценой. Лучше было бы сделать фрейм данных следующим образом:

df=pd.DataFrame({'a': [0,1,2], 'b': [3,4,5], 'c':[6,7,8]})

Приведенный выше результат представляет собой фрейм данных с индексами и именами столбцов.

Вы можете добавить столбец в df, например так:

df['d'] = [8,9,10]

И удалите столбец в кадре данных, например:

df.drop(columns='c',inplace=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...