相关疑难解决方法(0)

在python中合并数据帧时重复的行

我目前正在使用外连接合并2个数据帧,但在合并之后,我看到所有行都是重复的,即使我合并的列包含相同的值.详细地:

list_1 = pd.read_csv('list_1.csv')
list_2 = pd.read_csv('list_2.csv')

merged_list = pd.merge(list_1 , list_2 , on=['email_address'], how='inner')
Run Code Online (Sandbox Code Playgroud)

具有以下输入和结果:

LIST_1:

email_address, name, surname
john.smith@email.com, john, smith
john.smith@email.com, john, smith
elvis@email.com, elvis, presley
Run Code Online (Sandbox Code Playgroud)

list_2:

email_address, street, city
john.smith@email.com, street1, NY
john.smith@email.com, street1, NY
elvis@email.com, street2, LA
Run Code Online (Sandbox Code Playgroud)

merged_list:

email_address, name, surname, street, city
john.smith@email.com, john, smith, street1, NY
john.smith@email.com, john, smith, street1, NY
john.smith@email.com, john, smith, street1, NY
john.smith@email.com, john, smith, street1, NY
elvis@email.com, elvis, presley, street2, LA
elvis@email.com, elvis, presley, street2, LA
Run Code Online (Sandbox Code Playgroud)

我的问题是,不应该这样吗?

merged_list(我希望如何:D): …

python merge python-2.7 python-3.x pandas

10
推荐指数
2
解决办法
3万
查看次数

合并两个pandas数据帧会产生"重复"列

我正在尝试合并两个包含相同键列的数据帧.其他一些列也有相同的标题,虽然不是相同数量的行,并且在合并这些列之后,使用postscript _x,_y等对原始标题进行"复制".

有谁知道如何让pandas删除下面示例中的重复列?

这是我的python代码:

import pandas as pd

holding_df = pd.read_csv('holding.csv')
invest_df = pd.read_csv('invest.csv')

merge_df = pd.merge(holding_df, invest_df, on='key', how='left').fillna(0)
merge_df.to_csv('merged.csv', index=False)
Run Code Online (Sandbox Code Playgroud)

CSV文件包含以下内容:

左数据帧的第一行(holding_df)

key, dept_name, res_name, year, need, holding
DeptA_ResA_2015, DeptA, ResA, 2015, 1, 1
DeptA_ResA_2016, DeptA, ResA, 2016, 1, 1
DeptA_ResA_2017, DeptA, ResA, 2017, 1, 1
...
Run Code Online (Sandbox Code Playgroud)

右数据帧(invest_df)

key, dept_name, res_name, year, no_of_inv, inv_cost_wo_ice
DeptA_ResA_2015, DeptA, ResA, 2015, 1, 1000000
DeptA_ResB_2015, DeptA, ResB, 2015, 2, 6000000
DeptB_ResB_2015, DeptB, ResB, 2015, 1, 6000000
...
Run Code Online (Sandbox Code Playgroud)

合并结果

key, dept_name_x, res_name_x, year_x, …
Run Code Online (Sandbox Code Playgroud)

python pandas

8
推荐指数
2
解决办法
2万
查看次数

将数据从一个pandas数据帧替换为另一个

我有两个数据帧df1和df2.它们都包含时间序列数据,因此df1和df2中的某些日期可能相互交叉,其余日期则不相交.我的要求是对两个数据帧的操作,用df2中的值替换df1中的值,df2中的索引值在df2中不存在,并且添加df2中存在的索引的值而不是df1中的索引值.请考虑以下示例:

df1:
    A   B   C   D
0   A0  BO  C0  D0
1   A1  B1  C1  D1
2   A2  B2  C2  D2
3   A3  B3  C3  D3

df2:
    A   B   C   E
1   A4  B4  C4  E4
2   A5  B5  C5  E5
3   A6  B6  C6  E6
4   A7  B7  C7  E7

result df:
    A   B   C   D   E
0   A0  BO  C0  D0  Nan
1   A4  B4  C4  D4  E4
2   A5  B5  C5  D5  E5
3   A6  B6  C6 …
Run Code Online (Sandbox Code Playgroud)

python pandas

5
推荐指数
1
解决办法
4287
查看次数

使用pandas连接两个数据帧中的不同列(并附加类似的列)

我的问题与Pandas Merge 密切相关- 如何避免重复列但不相同.

我想连接三个数据帧中不同的列.数据框有一个列id,有些列是相同的:Ex.

DF1

id place name qty unit A 
1 NY    Tom   2  10   a
2 TK    Ron   3  15   a
3 Lon   Don   5  90   a
4 Hk    Sam   4  49   a
Run Code Online (Sandbox Code Playgroud)

DF2

id place name qty unit B 
1 NY    Tom   2  10   b
2 TK    Ron   3  15   b
3 Lon   Don   5  90   b
4 Hk    Sam   4  49   b
Run Code Online (Sandbox Code Playgroud)

DF3

id place name qty unit C D
1 NY …
Run Code Online (Sandbox Code Playgroud)

python merge concat dataframe pandas

3
推荐指数
1
解决办法
115
查看次数

标签 统计

pandas ×4

python ×4

merge ×2

concat ×1

dataframe ×1

python-2.7 ×1

python-3.x ×1