목록 목록을 Pandas 데이터 프레임으로 변환


30

다음과 같은 목록 목록을 Pandas Dataframe으로 변환하려고합니다.

[['New York Yankees ', '"Acevedo Juan"  ', 900000, ' Pitcher\n'], 
['New York Yankees ', '"Anderson Jason"', 300000, ' Pitcher\n'], 
['New York Yankees ', '"Clemens Roger" ', 10100000, ' Pitcher\n'], 
['New York Yankees ', '"Contreras Jose"', 5500000, ' Pitcher\n']]

기본적으로 배열의 각 항목을 4 개의 열이있는 팬더 데이터 프레임으로 변환하려고합니다. pd.Dataframe으로 가장 좋은 방법은 무엇입니까?


stack overflow에서이 질문을보십시오 : stackoverflow.com/questions/.../…
keramat

답변:


36
import pandas as pd

data = [['New York Yankees', 'Acevedo Juan', 900000, 'Pitcher'], 
        ['New York Yankees', 'Anderson Jason', 300000, 'Pitcher'], 
        ['New York Yankees', 'Clemens Roger', 10100000, 'Pitcher'], 
        ['New York Yankees', 'Contreras Jose', 5500000, 'Pitcher']]

df = pd.DataFrame.from_records(data)

4
DataFrame.from_records (data, columns = [ 'Team', 'Player', 'what-stat-is-that-that', 'position'])를 사용하여 좀 더 세분화 할 수 있습니다.
Juan Ignacio Gil

1
가져 오기를보다 구체적으로 지정하는 방법이 있습니까? 예 나는 그 지정하려는 DataFrame["Team"]각 하위 목록의 첫 번째 항목을 참조해야합니다 (예 data[i][0])와 DataFrame["Position"](즉, 각각의 하위 목록의 마지막 항목을 참조하십시오 data[i][-1])?
이보

@Ivo : DataFrame.from_recordscolumns 매개 변수를 사용하십시오 .
Emre

13

데이터가 있으면 :

import pandas as pd

data = [['New York Yankees ', '"Acevedo Juan"  ', 900000, ' Pitcher\n'], 
        ['New York Yankees ', '"Anderson Jason"', 300000, ' Pitcher\n'], 
        ['New York Yankees ', '"Clemens Roger" ', 10100000, ' Pitcher\n'], 
        ['New York Yankees ', '"Contreras Jose"', 5500000, ' Pitcher\n']]

데이터를 전치하여 데이터 프레임을 만들 수 있습니다.

data_transposed = zip(data)
df = pd.DataFrame(data_transposed, columns=["Team", "Player", "Salary", "Role"])

또 다른 방법:

df = pd.DataFrame(data)
df = df.transpose()
df.columns = ["Team", "Player", "Salary", "Role"]

5

다음과 같이 데이터 프레임으로 직접 정의 할 수 있습니다.

import pandas as pd

data = [['New York Yankees', 'Acevedo Juan', 900000, 'Pitcher'], 
        ['New York Yankees', 'Anderson Jason', 300000, 'Pitcher'], 
        ['New York Yankees', 'Clemens Roger', 10100000, 'Pitcher'], 
        ['New York Yankees', 'Contreras Jose', 5500000, 'Pitcher']]

data = pd.DataFrame(data)

1
import pandas as pd

data = [['New York Yankees', 'Acevedo Juan', 900000, 'Pitcher'],
        ['New York Yankees', 'Anderson Jason', 300000, 'Pitcher'], 
        ['New York Yankees', 'Clemens Roger', 10100000, 'Pitcher'], 
        ['New York Yankees', 'Contreras Jose', 5500000, 'Pitcher']]

df = pd.DataFrame(data)

0

이것은 지금까지 가장 간단했습니다.

import pandas as pd

data = [['New York Yankees', 'Acevedo Juan', 900000, 'Pitcher'], 
        ['New York Yankees', 'Anderson Jason', 300000, 'Pitcher'], 
        ['New York Yankees', 'Clemens Roger', 10100000, 'Pitcher'], 
        ['New York Yankees', 'Contreras Jose', 5500000, 'Pitcher']]

data = pd.DataFrame(data)

이제 키가 목록 목록의 첫 번째 목록 인 경우 (data [0]) 다음과 같이 데이터 프레임의 열 머리글에 지정할 수 있습니다.

import pandas as pd

data = [['key1', 'key2', key3, 'key4'], 
    ['New York Yankees', 'Anderson Jason', 300000, 'Pitcher'], 
    ['New York Yankees', 'Clemens Roger', 10100000, 'Pitcher'], 
    ['New York Yankees', 'Contreras Jose', 5500000, 'Pitcher']]

data = pd.DataFrame(data[1:], columns=data[0])
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.