Python pandas.DataFrame 각 row의 Subset을 얻기 위해서(doc_data) 아래와 같이 코드를 작성했다.
for i, row in my_df.iterrows():
doc_names = {"key_example1", "key_example2", "key_example3"}
doc_data = {key:row[key] for key in row.keys() & doc_names}
doc_dict = {"doc": doc_data}
그랬더니 아래와 같은 경고 문구가 떴다.
FutureWarning: Index.__and__ operating as a set operation is deprecated, in the future this will be a logical operation matching Series.__and__. Use index.intersection(other) instead
warning은 개발을 하면서, 당장 오류가 발생하여 프로그램이 종료되지 않더라도 성능의 문제가 있다. 또한 이런 경고 문구가 뜨는 경우에는 빠르게 코드를 수정해주는 것이 좋다. 향후 버전 업이 되면, 현재와 같은 문법을 지원하지 않기 때문이다.
아래와 같이 변경하여 사용하면 된다.
my_sub_df = my_df[my_df.columns.intersection(doc_names)]
for i, row in my_sub_df.iterrows():
doc_names = ["key_example1", "key_example2", "key_example3"]
doc_dict = {"doc": row}
References
https://stackoverflow.com/questions/67454971/intersection-of-a-dataframe-with-a-list-of-columns
'Data Engineering' 카테고리의 다른 글
파이썬은 모든 것이 객체다, is와 이항 연산자... (0) | 2024.05.18 |
---|---|
uuid 식별자로 사용가능한가? (0) | 2024.05.18 |
Python 딕셔너리 (0) | 2024.05.18 |
리스트, 배열과 연결 리스트를 통합하고 속도는 양보한 파이썬의 객체 타입 (0) | 2024.05.17 |
Kafka에 대한 간단한 아키텍쳐 소개 (0) | 2024.05.17 |