팬더 WITH 지수에서 데이터 프레임을 사전으로 변환하는 방법
데이터 프레임이 있습니다.df
다음과 같이
| name | coverage |
|-------|----------|
| Jason | 25.1 |
저는 그것을 사전으로 바꾸고 싶습니다.다음 명령을 사용했습니다.pandas
:
dict=df.to_dict()
산출량dict
다음과 같은 말을 했습니다.
{'coverage': {0: 25.1}, 'name': {0: 'Jason'}}
나는 그것을 원하지 않습니다.0
나의 산출물로데이터 프레임에 있는 열 인덱스 때문에 캡처된 것 같습니다.df
. 제거하려면 어떻게 해야 합니까?0
내 출력에서 (인덱스가 캡처되지 않았으면 합니다.) 예상 출력:
{'coverage': 25.1, 'name': 'Jason'}
열이 2개인 당신의 데이터셋을 보면 데이터 프레임이 아닌 시리즈가 보입니다.
시도해 보기:d = df.set_index('name')['coverage'].to_dict()
데이터 프레임을 직렬로 변환하고 출력합니다.
그러나 공통 키가 아닌 더 많은 열을 사용하고자 하는 경우 'records'를 사용하여 열을 배열에 저장할 수 있습니다.d = df.to_dict('r')
. `
실행 가능한 코드:
import pandas as pd
df = pd.DataFrame({
'name': ['Jason'],
'coverage': [25.1]
})
print(df.to_dict())
print(df.set_index('name')['coverage'].to_dict())
print(df.to_dict('r'))
반환:
{'name': {0: 'Jason'}, 'coverage': {0: 25.1}}
{'Jason': 25.1}
[{'name': 'Jason', 'coverage': 25.1}]
그리고 한 가지 더, 변수 이름 dict를 예약된 대로 사용하지 않도록 해야 합니다.
dict1 = df.to_dict('records')
아니면
dict2 = df.to_dict('list')
list
: 키는 열 이름, 값은 열 데이터 목록입니다.
records
: 각 행은 사전이 됩니다. 여기서 키는 열 이름이고 값은 셀의 데이터입니다.
당신은 다음과 같은 것을 할 수 있습니다.
data.to_dict('list')
#output:
#{'Feeling low in energy-slowed down': [2, 4, 2, 4]}
1열만 있는 경우, 1열을 잘라냅니다(영상 시리즈로 변환됨) dict 함수로 래핑합니다.
dict( myDF.iloc[:, -1] )
# [: , -1] means: return all rows, return last column)
{Jason: 25.1}
zip은 다른 선택 사항 dict= dict(zip('name',df['coverage'])이어야 합니다.
언급URL : https://stackoverflow.com/questions/52547805/how-to-convert-dataframe-to-dictionary-in-pandas-without-index
'programing' 카테고리의 다른 글
f() aint16_t를 인쇄하려면 어떻게 해야 합니까? (0) | 2023.11.06 |
---|---|
Oracle의 MD5를 PHP의 MD5와 일치시키는 방법 (0) | 2023.11.06 |
다중 로그 파일 스프링 부팅 (0) | 2023.11.06 |
MySQL 오류 1062: 키에 대한 중복 항목 (0) | 2023.11.06 |
getString() 대신 JDBC getNString()을 사용해야 합니까? (0) | 2023.11.06 |