programing

팬더 WITH 지수에서 데이터 프레임을 사전으로 변환하는 방법

css3 2023. 11. 6. 21:59

팬더 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