2017-04-18 2 views
2

나는리스트의 목록을 작성하는 것을 시도하고 보이는 같은 :- 목록을 판다를 사용하여 엑셀 시트에 파이썬

List_of Lists = [ [1,2,3,4], 
        [5,6,7,8], 
        [9,10,11,12], 
        ........, 
       ] 

주요 목록 내부의이 목록의 수 1000까지 올 수 있습니다. 인스턴스의 경우 colums100까지 colums1, colomns2와 같은 라벨을 붙이고 싶습니다. 같은 시트에. 팬더에 익숙한 사람이 나를 도울 수 있습니까? 이것은 일부 사람들에게는 정말 쉽습니다.

+0

각 하위 목록의 길이가 같지 않습니까? 하위 목록을 열로 처리하고 싶습니까? – sgrg

답변

8

난 그냥 pd.DataFrame()에 목록을 전달할 수 있다고 생각하고 존재하지 않는 값에 대한 NaN 만받습니다. 예를 들어

: 다음

List_of_Lists = [[1,2,3,4], 
       [5,6,7], 
       [9,10], 
       [11]] 
df = pd.DataFrame(List_of_Lists) 
print(df) 
    0  1 2 3 
0 1 2.0 3.0 4.0 
1 5 6.0 7.0 NaN 
2 9 10.0 NaN NaN 
3 11 NaN NaN NaN 

당신이 원하는 바로 사용하는 이름 지정 방법을 얻을 pandas.DataFrame.add_prefix 지금이 생각

df = df.add_prefix('Column') 
print(df) 
    Column0 Column1 Column2 Column3 
0  1  2.0  3.0  4.0 
1  5  6.0  7.0  NaN 
2  9  10.0  NaN  NaN 
3  11  NaN  NaN  NaN 

는 각리스트가되고 싶어요 수있는 가능성 기둥. 이 경우에는 List_of_Lists을 트랜스 포즈해야합니다.

from itertools import zip_longest 

df = pd.DataFrame(list(map(list, zip_longest(*List_of_Lists)))) 
print(df) 
    0 1  2  3 
0 1 5.0 9.0 11.0 
1 2 6.0 10.0 NaN 
2 3 7.0 NaN NaN 
3 4 NaN NaN NaN 
+2

예'add_prefix'! – piRSquared

+1

@piRSquared 네가 그걸 믿을 수 있습니다. – Grr

+0

그건 꽤 깔끔한, 나는 그것이 심지어 기능인지 몰랐다. 가장 긴 하위 목록을 찾는 것보다 훨씬 간단합니다 – Newyork167