В чем разница между Серией pandas и Одностолбцовым фреймом данных?



почему панды делают различие между a Series и один столбец DataFrame?

Другими словами: в чем причина существования Series класса?



Я в основном использую временные ряды с индексом datetime, возможно, это помогает установить контекст.

569   4  

4 ответов:

со ссылкой на Pandas docs

панды. DataFrame(данные=Нет, показатель=нет, столбцы=нет, dtype=none, то копирование=ложь)

двумерный размер-изменяемая, потенциально гетерогенная табличная структура данных с мечеными осями (строки и столбцы). Арифметические операции выравниваются по меткам строк и столбцов. можно рассматривать как dict-подобный контейнер для объектов серии. главная структура данных панды

(акцент мой, фрагмент предложения не мой)

так серия-это структура данных для одного столбца a DataFrame, не только концептуально, но буквально т. е. данные в DataFrame фактически хранится в памяти в виде коллекции Series.

аналогично: нам нужны как списки, так и матрицы, потому что матрицы строятся со списками. Однорядные матрицы, в то время как эквивалентные спискам в функциональность по-прежнему не может существовать без списка(ов), из которых они состоят.

они оба имеют очень похожие API, но вы найдете, что DataFrame методы всегда учитывают возможность того, что у вас есть более одного столбца. И конечно, вы всегда можете добавить еще один Series (или эквивалентный объект) к DataFrame, при добавлении Series в другой Series включает в себя создание DataFrame.

от панд doc http://pandas.pydata.org/pandas-docs/stable/dsintro.html Серия представляет собой одномерный помеченный массив, способный содержать любой тип данных. Для чтения данных в виде серии panda:

import pandas as pd
ds = pd.Series(data, index=index)

DataFrame-это 2-мерная помеченная структура данных со столбцами потенциально разных типов.

import pandas as pd
df = pd.DataFrame(data, index=index)

в обоих из вышеуказанного индекса список

например: у меня есть CSV-файл со следующим данные:

,country,popuplation,area,capital
BR,Brazil,10210,12015,Brasile
RU,Russia,1025,457,Moscow
IN,India,10458,457787,New Delhi

для чтения выше данных в виде серии и фрейма данных:

import pandas as pd
file_data = pd.read_csv("file_path", index_col=0)
d = pd.Series(file_data.country, index=['BR','RU','IN'] or index =  file_data.index)

выход:

>>> d
BR           Brazil
RU           Russia
IN            India

df = pd.DataFrame(file_data.area, index=['BR','RU','IN'] or index = file_data.index )

выход:

>>> df
      area
BR   12015
RU     457
IN  457787

серия представляет собой одномерный объект, который может содержать любой тип данных, таких как целые числа, поплавки и строки, например

   import pandas as pd </i>
   x = pd.Series([A,B,C]) 

0 A
1 B
2 C

первый столбец ряда известен индексом т. е. 0,1,2 второй столбец-это ваши фактические данные, т. е. A,B, C

DataFrames-это двумерный объект, который может содержать ряды, список, Словарь

df=pd.DataFrame(rd(5,4),['A','B','C','D','E'],['W','X','Y','Z'])

серия представляет собой одномерный помеченный массив, способный содержать любой тип данных (целые числа, строки, числа с плавающей запятой, объекты Python и т. д.). Метки оси в совокупности называются индексом. Основным методом для создания серии является вызов:

s = pd.Series(data, index=index)

DataFrame-это 2-мерная помеченная структура данных со столбцами потенциально разных типов. Вы можете думать об этом как о электронной таблице или таблице SQL, или о Дикте объектов серии.

 d = {'one' : pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
 two' : pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}
 df = pd.DataFrame(d)

Comments

    Ничего не найдено.