Питон: слияние панд приводит к NaN - PullRequest
0 голосов
/ 09 июня 2018

Я пытаюсь выполнить слияние с пандами.Два файла имеют общий ключ («KEY_PLA»), который я пытаюсь использовать с левым соединением.Но, к сожалению, все столбцы, которые переносятся из второго файла в первый файл, имеют значения NaN.

Вот что я сделал до сих пор:

df_1 = pd.read_excel(path1, skiprows=1)
df_2 = pd.read_excel(path2, skiprows=1)

df_1.columns = ["Index", "KEY", "KEY_PLA", "INFO1", "INFO2"]
df_2.columns = ["Index", "KEY_PLA", "INFO4"]

df_1.drop(["Index"], axis=1, inplace=True)
df_2.drop(["Index"], axis=1, inplace=True)

# Merge all dataframes
df_merge = pd.DataFrame()

df_merge = df_1.merge(df_2, left_on="KEY_PLA", right_on="KEY_PLA", how="left")
print(df_merge)

Вот результат: Result

Вот файлы Excel:

Excel1 Excel2

Что не так скод?Я также проверил типы и даже преобразовал столбцы в строки.Но ничего не работает.

1 Ответ

0 голосов
/ 09 июня 2018

Я думаю, что проблема в другом type с соединенных столбцов KEY_PLA, очевидно, одно целое, а другое string с.

Решение приведено к тому же, например, к int с:

print (df_1['KEY_PLA'].dtype)
object

print (df_2['KEY_PLA'].dtype)
int64

df_1['KEY_PLA'] = df_1['KEY_PLA'].astype(int)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...