python如何分成两行_python如何实现pandas 中两行相加

这段代码展示了如何使用pandas库进行数据处理。首先创建了一个数据框,然后按列排序并重置索引。接着,通过将姓名设置为'wang'加索引的方式创建新的列。通过条件筛选,分别使用loc和drop方法合并和删除包含特定姓名的数据行。最后,实现了对选定姓名行的求和并插入到数据框中。
摘要由CSDN通过智能技术生成

[Python] 纯文本查看 复制代码import pandas as pd

chengji = ([[100, 95, 100, 99], [90, 98, 99, 100], [88, 95, 98, 88],

[99, 98, 97, 87], [96.5, 90, 96, 85], [94, 94, 93, 91],

[91, 99, 92, 87], [85, 88, 85, 90], [90, 92, 99, 88],

[90, 88, 89, 81], [85, 89, 89, 82], [95, 87, 86, 88],

[90, 97, 97, 98], [80, 92, 89, 98], [80, 98, 85, 81],

[98, 88, 95, 92]])

data = pd.DataFrame(chengji, columns=['语文', '英语', '数学', '政治'])

print(data)

# data1=data[['数学','语文','英语','政治']] #排序

# data1=data1.reset_index(drop=True) #序列重建

# data1.index.names=['序号'] #序列重命名

data['name']=data.index.map(lambda x:"wang"+str(x) )

print(data)

data2=data.copy()

hebing=['hb']

hebingh=['wang1','wang2','wang3']

data.loc['hebing']=data.loc[data['name'].isin(hebingh)].sum()

data1=data[~data['name'].isin(hebingh)]

print('方法一正确',data1)

data.drop(data['name'].isin(hebingh),inplace=True)

print(data)

data3=data2.copy()

print(data.loc[data['name'].isin(hebingh)].sum(axis=0))

data3=data3.append(data.loc[data['name'].isin(hebingh)].sum(axis=0),ignore_index=True)

data3=data3[~data3['name'].isin(hebingh)]

data3.loc[data3.index[-1],'name']=hebing[0]#取得最后一个index并改名

print('方法三试成功',data3)

heji=['hb', ['wang1','wang2','wang3']]

print('方法2出错',data2)

# data2.loc[heji[0]] = (data2[data2['p'] == heji[1][0]].values + data2[data2['p'] == heji[1][1]].values)[0]

# data2.drop(data2['p'].isin(heji[1]), inplace=True)

data2.loc[heji[0]] = (data2[data2['name'] == heji[1][0]].values + data2[data2['name'] == heji[1][1]].values++ data2[data2['name'] == heji[1][2]].values)[0]

# data2.drop(data2['p'].isin(heji[1]), inplace=True)data2.append(data2.loc[data2['p'].isin(heji[1])].sum(axis=0),ignore_index=True)

print(data2,heji[1])

data2.drop(data2['name'].isin(heji[1]),inplace=True) #此语句出错

print(data2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值