반응형
Python: 목록에서 판다 데이터 프레임 만들기
다음 코드를 사용하여 목록에서 데이터 프레임을 만드는 중입니다.
test_list = ['a','b','c','d']
df_test = pd.DataFrame.from_records(test_list, columns=['my_letters'])
df_test
위 코드는 정상적으로 작동합니다.그런 다음 다른 목록에 대해 동일한 접근 방식을 시도했습니다.
import pandas as pd
q_list = ['112354401', '116115526', '114909312', '122425491', '131957025', '111373473']
df1 = pd.DataFrame.from_records(q_list, columns=['q_data'])
df1
하지만 이번에는 다음과 같은 오류가 발생했습니다.
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
<ipython-input-24-99e7b8e32a52> in <module>()
1 import pandas as pd
2 q_list = ['112354401', '116115526', '114909312', '122425491', '131957025', '111373473']
----> 3 df1 = pd.DataFrame.from_records(q_list, columns=['q_data'])
4 df1
/usr/local/lib/python3.4/dist-packages/pandas/core/frame.py in from_records(cls, data, index, exclude, columns, coerce_float, nrows)
1021 else:
1022 arrays, arr_columns = _to_arrays(data, columns,
-> 1023 coerce_float=coerce_float)
1024
1025 arr_columns = _ensure_index(arr_columns)
/usr/local/lib/python3.4/dist-packages/pandas/core/frame.py in _to_arrays(data, columns, coerce_float, dtype)
5550 data = lmap(tuple, data)
5551 return _list_to_arrays(data, columns, coerce_float=coerce_float,
-> 5552 dtype=dtype)
5553
5554
/usr/local/lib/python3.4/dist-packages/pandas/core/frame.py in _list_to_arrays(data, columns, coerce_float, dtype)
5607 content = list(lib.to_object_array(data).T)
5608 return _convert_object_array(content, columns, dtype=dtype,
-> 5609 coerce_float=coerce_float)
5610
5611
/usr/local/lib/python3.4/dist-packages/pandas/core/frame.py in _convert_object_array(content, columns, coerce_float, dtype)
5666 # caller's responsibility to check for this...
5667 raise AssertionError('%d columns passed, passed data had %s '
-> 5668 'columns' % (len(columns), len(content)))
5669
5670 # provide soft conversion of object dtypes
AssertionError: 1 columns passed, passed data had 9 columns
동일한 접근 방식이 한 목록에는 적용되지만 다른 목록에는 적용되지 않는 이유는 무엇입니까?여기서 뭐가 잘못됐는지 알아요?정말 고마워.
DataFrame.from_records
문자열을 문자 목록으로 처리합니다.따라서 문자열 길이만큼의 열이 필요합니다.
생성자를 간단하게 사용할 수 있습니다.
In [3]: pd.DataFrame(q_list, columns=['q_data'])
Out[3]:
q_data
0 112354401
1 116115526
2 114909312
3 122425491
4 131957025
5 111373473
In[20]: test_list = [['a','b','c'], ['AA','BB','CC']]
In[21]: pd.DataFrame(test_list, columns=['col_A', 'col_B', 'col_C'])
Out[21]:
col_A col_B col_C
0 a b c
1 AA BB CC
In[22]: pd.DataFrame(test_list, index=['col_low', 'col_up']).T
Out[22]:
col_low col_up
0 a AA
1 b BB
2 c CC
여러 목록에서 데이터 프레임을 만들려면 목록을 압축하기만 하면 됩니다.'zip' 개체를 반환합니다.다시 목록으로 변환합니다.
mydf = pd.DataFrame(list(zip(lstA, lstB)), columns = ['My List A', 'My List B'])
그냥 사용하는concat
방법
test_list = ['a','b','c','d']
pd.concat(test_list )
당신은 또한 numpy의 도움을 받을 수 있습니다.
import numpy as np
df1 = pd.DataFrame(np.array(q_list),columns=['q_data'])
언급URL : https://stackoverflow.com/questions/43175382/python-create-a-pandas-data-frame-from-a-list
반응형
'source' 카테고리의 다른 글
코드가 있는 어셈블리의 경로를 가져오려면 어떻게 해야 합니까? (0) | 2023.05.17 |
---|---|
WPF: 콘텐츠 제어를 위한 데이터 템플릿 트리거를 설정하는 방법은 무엇입니까? (0) | 2023.05.17 |
파이썬에서 환경 변수에 액세스하려면 어떻게 해야 합니까? (0) | 2023.05.17 |
Python mock Patchos.environ 및 반환 값 (0) | 2023.05.12 |
Azure App Service 요금제를 삭제할 수 없습니다. (0) | 2023.05.12 |