python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > pandas两个dataframe相减

pandas如何实现两个dataframe相减

作者:达达爱吃肉

这篇文章主要介绍了pandas如何实现两个dataframe相减方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

pandas实现两个dataframe相减

方式一

a=np.array([['北京','北方','一线','非沿海'],['杭州','南方','二线','非沿海'],['深圳','南方','一线','沿海'],['烟台','北方','三线','沿海']])
df1=pd.DataFrame(a,index=[1,2,3,4],columns=['城市','地理','级别','是否沿海'])

    城市    地理    级别    是否沿海
1    北京    北方    一线    非沿海
2    杭州    南方    二线    非沿海
3    深圳    南方    一线    沿海
4    烟台    北方    三线    沿海

假如我们把一线城市的信息拿出来

city_level_1_data = df1[df1['级别'].isin(['一线'])]

现在我们想直接拿到df1中除了city_level_1_data的全部数据

    城市    地理    级别    是否沿海
1    北京    北方    一线    非沿海
3    深圳    南方    一线    沿海

# 我们能想到的怎么做呢
df1 - city_level_1_data

上述当然是不行的,我们只能再想个办法。

city_level_1_index = city_level_1_data.index.to_list()

[1, 3]

找到city_level_1_data 的索引就好办了

df1[~df1.index.isin(city_level_1_index)]
    城市    地理    级别    是否沿海
2    杭州    南方    二线    非沿海
4    烟台    北方    三线    沿海

DataFrame中两列数据相减代码

使用pandas库,可以这样做:

import pandas as pddf['new_column'] = df['column1'] - df['column2']

其中df是数据框,'column1'和'column2'是原始列名,'new_column'是新列名。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文