>

파이썬을 사용하고 있습니다.

데이터 프레임 사전이 있습니다. 각 데이터 프레임에는 사전에 이름이 있으며 문제없이 올바르게 참조 할 수 있습니다.

이 이름을 가져 와서 모든 행에서 열로 추가하려고합니다. 이 작업을 수행하는 데 어려움을 겪고 있습니다.

  • 답변 # 1

    각 DataFrame의 새 열에 이름 문자열을 간단히 지정할 수 있습니다.

    import pandas as pd
    frames = {
      'foo': pd.DataFrame({'a': [1, 2], 'b': [3, 4]}),
      'bar': pd.DataFrame({'a': [9, 8], 'b': [7, 6]})
    }
    for name, df in frames.items():
      df['name'] = name
      print(df, '\n')
    
    

    제공 :

      a  b name
    0  1  3  foo
    1  2  4  foo
       a  b name
    0  9  7  bar
    1  8  6  bar
    
    

    데모

  • 답변 # 2

    사전을 반복하고 아래에서 수행 할 수 있습니다.

    for key in d.keys():  # d is the dictionary of dataframes
        d[key]['new_col'] = key  # df_name is the name string you want to add in dataframe.
    
    

  • 답변 # 3

    사전 이해와 assign 를 사용할 수 있습니다 :

    frames = {k: v.assign(name=k) for k, v in frames.items()}
    
    

관련 자료

  • 이전 c# - 진행률 표시 줄로 패널 채우기
  • 다음 php - AJAX 스크립트에서만 세션 변수가 사라짐