programing

판다 - 사전에서 데이터 프레임에 새 열 추가

topblog 2023. 7. 17. 20:31
반응형

판다 - 사전에서 데이터 프레임에 새 열 추가

다음과 같은 데이터 프레임에 'D' 열을 추가하고 싶습니다.

U,L
111,en
112,en
112,es
113,es
113,ja
113,zh
114,es

다음 사전을 기반으로 합니다.

d = {112: 'en', 113: 'es', 114: 'es', 111: 'en'}

결과 데이터 프레임이 다음과 같이 표시되도록 합니다.

U,L,D
111,en,en
112,en,en
112,es,en
113,es,es
113,ja,es
113,zh,es
114,es,es

지금까지 시도해 봤습니다.pd.join()방법이지만 사전에서 어떻게 작동하는지 알 수 없습니다.

호출하여 딕트를 전달하면 조회가 수행되고 해당 키에 대한 관련 값이 반환됩니다.

In [248]:

d = {112: 'en', 113: 'es', 114: 'es', 111: 'en'}
df['D'] = df['U'].map(d)
df
Out[248]:
     U   L   D
0  111  en  en
1  112  en  en
2  112  es  en
3  113  es  es
4  113  ja  es
5  113  zh  es
6  114  es  es

다음은 잘 작동하는 더 간단한 방법입니다.

df["D"] = pd.Series(d)

참고: 이를 위해 dict 키는 DataFrame 인덱스에 있어야 합니다.

받았습니다TypeError: 'dict' object is not callableindex.map()을 사용하려고 할 때 EdChum의 솔루션에 대한 오류가 발생했습니다.그리고 인덱스를 Series로 얻을 수 있는 방법을 찾지 못했습니다.

그래서 저는 먼저 dict 객체에서 Series 객체를 만들어 이 문제에 대한 다른 해결책을 찾았습니다.

new_d = pd.Series(d)

그런 다음 PD.join을 당신이 좋아하는 컬럼으로 하세요.도움이 될 수 있습니다.

언급URL : https://stackoverflow.com/questions/29794959/pandas-add-new-column-to-dataframe-from-dictionary

반응형