Создайте в Python новый файл с общими совпадениями на двух фреймах данных - PullRequest
1 голос
/ 03 июля 2019

dataset2.csv необходимо найти совпадения в первом столбце dataset1.csv, файл output.csv должен иметь только совпадения и некоторые атрибуты. Первый столбец является строкой.

Dataset1.csv
Name   age
John   2
Peter  1
Sara   3
Dataset2.csv
Name   city    Time
John   NY, NY  3:10AM
Peter  LA, CA  7:45PM
Output.csv
Name   age city    Time
John   2   NY, NY  3:10AM
Peter  1   LA, CA  7:45PM
import pandas as pd
import numpy as np

df1 = np.loadtxt('Dataset1.csv')

df2 = np.loadtxt('Dataset2.csv')


df1 = pd.DataFrame(df1,columns=['name','age'])
df2 = pd.DataFrame(df2,columns=['name','city','Time'])

print(df1)
print(df2)
intersected_df = pd.merge(df1, df2, how='inner')
print(intersected_df)

1 Ответ

1 голос
/ 03 июля 2019

Не используйте np.loadtxt для чтения, вместо этого используйте функцию pandas read_csv, а также укажите аргумент on и укажите столбец, в данном случае Name:

import pandas as pd
df1 = pd.read_csv('Dataset1.csv', sep='\s\s+', engine='python')
df2 = pd.read_csv('Dataset2.csv', sep='\s\s+', engine='python')
intersected_df = pd.merge(df1, df2, on='Name')
print(intersected_df)

Вывод:

    Name  age    city    Time
0   John    2  NY, NY  3:10AM
1  Peter    1  LA, CA  7:45PM
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...