python excel循环_【Python代替Excel】10:for循环、if-else判断

本文通过实例介绍了Python编程中DataFrame对象的for循环和判断语句使用,包括如何根据条件批量修改数据,如使用&、|和not操作符。文章强调了DataFrame的便捷性,通过一行代码即可完成for循环内的操作,提高了编程效率。
摘要由CSDN通过智能技术生成

今天来学学稍微复杂一点的,for循环和判断。对于有过编程基础的童鞋,肯定是觉得简单了,只要注意一下语法就可以了。

还是以咱们熟悉的dataframe来举例:

import pandas as pd

df = pd.DataFrame({'key1':['b','b','a','a','b','a','c'],'key2':['i','j','k','k','i','j','k'],'data1':range(10,17)})

#复制3个df,进行对比:与、或、非

df1 = df.copy()

df2 = df.copy()

df3 = df.copy()

新建一个df,并且复制3个备用。

for i in df1.index: #以索引进行循环

if (df1.loc[i,'key1']=='a')&(df1.loc[i,'key2']=='k'): # 将 key1=a 且 key2=k 的 data1改为20

df1.loc[i,'data1'] = 20

for i in df2.index: #以索引进行循环

if (df2.loc[i,'key1']=='a')|(df2.loc[i,'key2']=='k'): # 将 key1=a 或 key2=k 的 data1改为20

df2.loc[i,'data1'] = 30

for i in df3.index: #以索引进行循环

if not(df3.loc[i,'key1']=='a'): # 将 key1不等于a 的 data1改为40

df3.loc[i,'data1'] = 40

#当然,dataframe可以直接批量修改

df1 = df.copy()

df2 = df.copy()

df3 = df.copy()

df1.loc[(df1['key1']=='a')&(df1['key2']=='k'),'data1'] = 20 #逗号前面,是定位条件;后面是要修改的列名

df2.loc[(df2['key1']=='a')|(df2['key2']=='k'),'data1'] = 30

df3.loc[~(df3['key1']=='a'),'data1'] = 40 #not 换成 ~

#这块是想告诉你,dataframe多么好用,一句话代替了你的for,咋地!

语法讲解for循环

for就不用讲了吧,多做几个实例就理解了:

for i in range(0,11): #在0-10循环

print(i*2) #打印每个数字的2倍

for word in '欢迎关注数据分析与Python':

print('当前文字: %s \n'%(word))

for里面,可以循环range数组、dataframe、字符串等等。if-else

#不准小猪和小猫进门,其他都可以进

name = str(input('请输入名字:'))

if name=='猪':

print('不给开门')

elif name=='猫':

print('不给开门')

else:

print('请进')

剩下的自己去练习吧。

.....这篇写得有点随意啊......不服,你打我啊。。。。。。

专栏列表

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值