有两个数据框,一个数据框(df1)包含少量信息,另一个数据框(df2)则包含所有数据。我想在df1中创建一个新列,该列查找Total2值,并根据Names将其填充到新列中。请注意,df1中显示的名称始终可以在df2的名称中找到匹配项。我想知道Pandas是否已经有了某些函数可以做到这一点?我的最终目标是创建一个条形图。
alldatapath = "all_data.csv"
filteredpath = "filtered.csv"
import pandas as pd
df1 = pd.read_csv(
filteredpath, # file name
sep=',', # column separator
quotechar='"', # quoting character
na_values="NA", # fill missing values with 0
usecols=[0,1], # columns to use
decimal='.') # symbol for decimals
df2 = pd.read_csv(
alldatapath, # file name
sep=',', # column separator
quotechar='"', # quoting character
na_values="NA", # fill missing values with 0
usecols=[0,1], # columns to use
decimal='.') # symbol for decimals
df1 = df1.head(5) #trim to top 5
print(df1)
print(df2)
输出(df1):
Name Total
0 Accounting 3
1 Reporting 1
2 Finance 1
3 Audit 1
4 Template 2
输出(df2):
Name Total2
0 Reporting 100
1 Accounting 120
2 Finance 400
3 Audit 500
4 Information 50
5 Template 1200
6 KnowHow 2000
最终输出的结果(df1)应该类似于:
Name Total Total2(new column)
0 Accounting 3 120
1 Reporting 1 100
2 Finance 1 400
3 Audit 1 500
4 Template 2 1200