我想用不同的excel文件制作一个新的数据框。
我在一个数据表中有一个唯一的代码来显示位置,在另一个数据表中包含一个人的名字和一个唯一的代码。我想做的是通过比较一个人的唯一代码来显示一个人的位置。
类似于以下概念:
数据框1.xlsx
code = 1234, Location = serpong
code = 9876, Location = cisauk
数据框2.xlsx :
code = 1234, Name = Dino
code = 9876, Name = ventura
期望的数据frame.xlsx (由python结果):
Name = dino, Location = serpong
Name = ventura, Location = cisauk
是否可以使用pandas
来做到这一点?还是我需要另一个图书馆来做到这一点?
答案 0 :(得分:0)
是的,这是一个例子。假设您正在读取的XLSX工作簿有两张包含数据的表(显然,如果您正在从两个不同的Excel工作簿中进行读取,则需要修改第二个read_excel)。
>>> import pandas as pd
>>> df1 = pd.read_excel('c:/temp/book1.xlsx',sheet_name='Sheet1', index_col='code')
>>> df1
Location
code
1234 serpong
9876 cisauk
>>> df2 = pd.read_excel('c:/temp/book1.xlsx',sheet_name='Sheet2', index_col='code')
>>> df2
Name
code
1234 Dino
9876 ventura
>>> df3 = df1.join(df2)
>>> df3
Location Name
code
1234 serpong Dino
9876 cisauk ventura
编辑:在初始数据框创建中添加其他列。
>>> import pandas as pd
>>> df1 = pd.read_excel('c:/temp/book1.xlsx', sheet_name='Sheet1', index_col='code')
>>>df1
Location Foo
code
1234 serpong 1
9876 cisauk 2
>>> df2 = pd.read_excel('c:/temp/book1.xlsx', sheet_name='Sheet2', index_col='code')
>>> df2
Name Foo
code
1234 Dino a
9876 ventura b
>>> df3 = df1.join(df2, lsuffix='_df1', rsuffix='_df2')
>>> df3
Location Foo_df1 Name Foo_df2
code
1234 serpong 1 Dino a
9876 cisauk 2 ventura b