본문 바로가기

Pandas2.12

Python 판다스 열의 값을 사전으로 다시 매핑하고 NaN을 보존합니다., Remap values in pandas column with a dict, preserve NaNs 질문 다음과 같은 딕셔너리가 있습니다: di = {1: "A", 2: "B"} 이를 다음과 같은 데이터프레임의 col1 열에 적용하고 싶습니다: col1 col2 0 w a 1 1 2 2 2 NaN 다음과 같이 결과를 얻고 싶습니다: col1 col2 0 w a 1 A 2 2 B NaN 어떻게 가장 잘 할 수 있을까요? 답변 .replace를 사용할 수 있습니다. 예를 들어: >>> df = pd.DataFrame({'col2': {0: 'a', 1: 2, 2: np.nan}, 'col1': {0: 'w', 1: 1, 2: 2}}) >>> di = {1: "A", 2: "B"} >>> df col1 col2 0 w a 1 1 2 2 2 NaN >>> df.replace({"col1": di}) col1 .. 2023. 9. 16.
Python 플라스크 뷰에서 JSON 응답을 반환합니다., Return JSON response from Flask view 질문 나는 Pandas를 사용하여 CSV 파일을 분석하고 요약 정보를 포함하는 dict를 생성하는 함수를 가지고 있습니다. Flask view에서 결과를 응답으로 반환하려고 합니다. JSON 응답을 어떻게 반환할 수 있을까요? @app.route("/summary") def summary(): d = make_summary() # json으로 되돌려 보냅니다. 답변 보기는 직접적으로 Python dict나 list를 반환할 수 있으며 Flask는 자동으로 jsonify를 호출합니다. @app.route("/summary") def summary(): d = make_summary() return d 이전 버전의 Flask를 사용하거나 다른 JSON 직렬화 가능한 객체를 반환하려면 jsonify를 가져와서.. 2023. 8. 1.
Python 판다스 GroupBy 출력을 Series에서 DataFrame으로 변환하기, Converting a Pandas GroupBy output from Series to DataFrame 질문 다음과 같은 입력 데이터로 시작합니다. df1 = pandas.DataFrame( { "Name" : ["Alice", "Bob", "Mallory", "Mallory", "Bob" , "Mallory"] , "City" : ["Seattle", "Seattle", "Portland", "Seattle", "Seattle", "Portland"] } ) 이를 출력하면 다음과 같이 나타납니다: City Name 0 Seattle Alice 1 Seattle Bob 2 Portland Mallory 3 Seattle Mallory 4 Seattle Bob 5 Portland Mallory 그룹화는 간단합니다: g1 = df1.groupby( [ "Name", "City"] ).count() 그리고 출력.. 2023. 8. 1.
Python 판다스 데이터프레임의 두 열에 함수를 적용하는 방법은 어떻게 되나요?, How to apply a function to two columns of Pandas dataframe 질문 가정해보자. df라는 데이터프레임이 있고, 컬럼은 'ID', 'col_1', 'col_2'이다. 그리고 다음과 같은 함수를 정의한다 : f = lambda x, y : my_function_expression. 이제 f를 사용하여 df의 두 개의 컬럼 'col_1', 'col_2'에 적용하여 원소별로 새로운 컬럼 'col_3'을 계산하고 싶다. 다음과 같이 : df['col_3'] = df[['col_1','col_2']].apply(f) # Pandas가 TypeError를 반환할 것이다: ('() takes exactly 2 arguments (1 given)' 어떻게 해야 할까? ** 아래에 자세한 예시를 추가하였다 *** import pandas as pd df = pd.DataFrame({.. 2023. 7. 20.