別のデータフレームを使用して、データフレームの列からいくつかの行の欠落情報を完成させようとしています。最初df(dfPivote)の 2 つの列に関心 が'Entrega'あり'Transportador'、情報が欠落している列があります。2 番目の df ( )には、他の df のキーであるdfTransportadoEntregadoFaltante関心のある 2 つの列があり、他の df から欠落している情報があります。次のコードがありますが、機能していません。どうすればこの問題を解決できますか?'EntregaBusqueda''Transportador'
1 に答える
0
データフレーム操作を使用して欠損値を埋めることをお勧めします。サンプルコードに正しく従った場合、次のようなことをしようとしていると思います:
import pandas as pd
import numpy as np
# Create fake data
# "dfPivote" dataframe with an empty string in the "Transportador" column:
dfPivote = pd.DataFrame({'Entrega':[1,2,3],'Transportador':['a','','c']})
# "dfTransportadoEntregadoFaltante" lookup dataframe
dfTransportadoEntregadoFaltante = pd.DataFrame({'EntregaBusqueda':[1,2,3], 'Transportador':['a','b','c']})
# 1. Replace empty strings in dfPivote['Transportador'] with np.nan values:
dfPivote['Transportador'] = dfPivote['Transportador'].apply(lambda x: np.nan if len(x)==0 else x)
# 2. Merge the two dataframes together on the "Entrega" and "EntregaBusqueda" columns respectively:
df = dfPivote.merge(dfTransportadoEntregadoFaltante, left_on='Entrega', right_on='EntregaBusqueda', how='left')
# Entrega Transportador_x EntregaBusqueda Transportador_y
# 1 a 1 a
# 2 NaN 2 b
# 3 c 3 c
# 3. Fill NaNs in "Transportador_x" column with corresponding values in "Transportador_y" column:
df['Transportador_x'] = df['Transportador_x'].fillna(df['Transportador_y'])
# Entrega Transportador_x EntregaBusqueda Transportador_y
# 1 a 1 a
# 2 b 2 b
# 3 c 3 c
于 2020-11-18T14:05:17.413 に答える
