删除熊猫中重复的 headers (Python)
Removing duplicated headers in panda (Python)
基于下面的代码,我正在基于减法合并科学和数学。
for f in Science['Name']:
Math=(df[df['Name'].str.startswith(f)])
Math['Sub'] = Math['Name'].str.extract(r'(\w*)', expand=False)
Field1= pd.merge(Science, Math, left_on='Sub', right_on='Sub')
print(Field1)
上面代码的结果如下,但是我想删除重复的headers,它们是Name-x,Name-y,Sub和Name.我分享我的预期结果如下,我也想 将它存储在 csv 文件中 .
Name_x Name_y Sub Name
0 Numbers Math-Numbers Math Math-01
1 Numbers Math-Numbers Math Math-01
2 Numbers Math-Numbers Math Math-01
Name_x Name_y Sub Name
0 Numbers Math-Numbers Math Math-02
1 Numbers Math-Numbers Math Math-02
2 Numbers Math-Numbers Math Math-02
Name_x Name_y Sub Name
0 Numbers Math-Numbers Math Math-03
1 Numbers Math-Numbers Math Math-03
2 Numbers Math-Numbers Math Math-03
预期的 CSV 文件:
Name_x Name_y Sub Name
0 Numbers Math-Numbers Math Math-01
1 Numbers Math-Numbers Math Math-01
2 Numbers Math-Numbers Math Math-01
0 Numbers Math-Numbers Math Math-02
1 Numbers Math-Numbers Math Math-02
2 Numbers Math-Numbers Math Math-02
0 Numbers Math-Numbers Math Math-03
1 Numbers Math-Numbers Math Math-03
2 Numbers Math-Numbers Math Math-03
您所需要的只是连接生成的数据帧。
即
result = []
for f in Science['Name']:
Math=(df[df['Name'].str.startswith(f)])
Math['Sub'] = Math['Name'].str.extract(r'(\w*)', expand=False)
Field1= pd.merge(Science, Math, left_on='Sub', right_on='Sub')
result.append(Field1)
out_df = pd.concat(result)
print(out_df)
基于下面的代码,我正在基于减法合并科学和数学。
for f in Science['Name']:
Math=(df[df['Name'].str.startswith(f)])
Math['Sub'] = Math['Name'].str.extract(r'(\w*)', expand=False)
Field1= pd.merge(Science, Math, left_on='Sub', right_on='Sub')
print(Field1)
上面代码的结果如下,但是我想删除重复的headers,它们是Name-x,Name-y,Sub和Name.我分享我的预期结果如下,我也想 将它存储在 csv 文件中 .
Name_x Name_y Sub Name
0 Numbers Math-Numbers Math Math-01
1 Numbers Math-Numbers Math Math-01
2 Numbers Math-Numbers Math Math-01
Name_x Name_y Sub Name
0 Numbers Math-Numbers Math Math-02
1 Numbers Math-Numbers Math Math-02
2 Numbers Math-Numbers Math Math-02
Name_x Name_y Sub Name
0 Numbers Math-Numbers Math Math-03
1 Numbers Math-Numbers Math Math-03
2 Numbers Math-Numbers Math Math-03
预期的 CSV 文件:
Name_x Name_y Sub Name
0 Numbers Math-Numbers Math Math-01
1 Numbers Math-Numbers Math Math-01
2 Numbers Math-Numbers Math Math-01
0 Numbers Math-Numbers Math Math-02
1 Numbers Math-Numbers Math Math-02
2 Numbers Math-Numbers Math Math-02
0 Numbers Math-Numbers Math Math-03
1 Numbers Math-Numbers Math Math-03
2 Numbers Math-Numbers Math Math-03
您所需要的只是连接生成的数据帧。 即
result = []
for f in Science['Name']:
Math=(df[df['Name'].str.startswith(f)])
Math['Sub'] = Math['Name'].str.extract(r'(\w*)', expand=False)
Field1= pd.merge(Science, Math, left_on='Sub', right_on='Sub')
result.append(Field1)
out_df = pd.concat(result)
print(out_df)