복붙노트

[PYTHON] 사전 목록을 Dataframe으로 변환

PYTHON

사전 목록을 Dataframe으로 변환

다음과 같은 사전 목록이 있습니다.

[{'points': 50, 'time': '5:00', 'year': 2010}, 
{'points': 25, 'time': '6:00', 'month': "february"}, 
{'points':90, 'time': '9:00', 'month': 'january'}, 
{'points_h1':20, 'month': 'june'}]

그리고 이것을 이것을 판다 DataFrame으로 바꾸고 싶습니다 :

      month  points  points_h1  time  year
0       NaN      50        NaN  5:00  2010
1  february      25        NaN  6:00   NaN
2   january      90        NaN  9:00   NaN
3      june     NaN         20   NaN   NaN

참고 : 열의 순서는 중요하지 않습니다.

궁극적으로, 목표는 텍스트 파일에 이것을 쓰는 것입니다. 그리고 이것은 내가 찾을 수있는 최상의 해결책처럼 보입니다. 위의 그림과 같이 사전 목록을 pandas DataFrame으로 변환하려면 어떻게해야합니까?

해결법

  1. ==============================

    1.d가 dicts의 목록이라고 가정하면 간단합니다.

    d가 dicts의 목록이라고 가정하면 간단합니다.

    pd.DataFrame(d)
    
  2. ==============================

    2.pandas 16.2에서는이 작업을 수행하기 위해 pd.DataFrame.from_records (d)를 수행해야했습니다.

    pandas 16.2에서는이 작업을 수행하기 위해 pd.DataFrame.from_records (d)를 수행해야했습니다.

  3. ==============================

    3.pd.DataFrame.from_dict (d)를 다음과 같이 사용할 수도 있습니다.

    pd.DataFrame.from_dict (d)를 다음과 같이 사용할 수도 있습니다.

    In [8]: d = [{'points': 50, 'time': '5:00', 'year': 2010}, 
       ...: {'points': 25, 'time': '6:00', 'month': "february"}, 
       ...: {'points':90, 'time': '9:00', 'month': 'january'}, 
       ...: {'points_h1':20, 'month': 'june'}]
    
    In [12]: pd.DataFrame.from_dict(d)
    Out[12]: 
          month  points  points_h1  time    year
    0       NaN    50.0        NaN  5:00  2010.0
    1  february    25.0        NaN  6:00     NaN
    2   january    90.0        NaN  9:00     NaN
    3      june     NaN       20.0   NaN     NaN
    
  4. from https://stackoverflow.com/questions/20638006/convert-list-of-dictionaries-to-dataframe by cc-by-sa and MIT license