python字符串重复字符串压缩_使用字符串Python压缩带有“for”语句的重复代码

我对Python中的“for”语句非常陌生,我无法得到一些我认为应该很简单的东西。我的代码是:import pandas as pd

df1 = pd.DataFrame({'Column1' : pd.Series([1,2,3,4,5,6])})

df2 = pd.DataFrame({'Column1' : pd.Series([1,2,3,4,5,6])})

df3 = pd.DataFrame({'Column1' : pd.Series([1,2,3,4,5,6])})

DF1 = pd.DataFrame({'Column1' : pd.Series([1,2,3,4,5,6])})

DF2 = pd.DataFrame({'Column1' : pd.Series([1,2,3,4,5,6])})

DF3 = pd.DataFrame({'Column1' : pd.Series([1,2,3,4,5,6])})

然后:

^{pr2}$

正如你所看到的,它有很多重复的代码,只是识别号不同。所以我第一次尝试“for”语句是:Numbers = [1,2,3]

for i in Numbers:

"A" + str(i) = len("df" + str(i).loc["df" + str(i)['Column1'] <= "DF" + str(i)['Column1'].iloc[2]])

"Z" + str(i) = len("df" + str(i).loc["df" + str(i)['Column1'] >= "DF" + str(i)['Column1'].iloc[3]])

这就产生了语法错误:“cannotassign to operator”。所以我试着:Numbers = [1,2,3]

for i in Numbers:

A = "A" + str(i)

Z = "Z" + str(i)

A = len("df" + str(i).loc["df" + str(i)['Column1'] <= "DF" + str(i)['Column1'].iloc[2]])

Z = len("df" + str(i).loc["df" + str(i)['Column1'] >= "DF" + str(i)['Column1'].iloc[3]])

这产生了AttributeError:“str”对象没有属性“loc”。我试过其他一些方法,比如:Numbers = [1,2,3]

for i in Numbers:

A = "A" + str(i)

Z = "Z" + str(i)

df = "df" + str(i)

DF = "DF" + str(i)

A = len(df.loc[df['Column1'] <= DF['Column1'].iloc[2]])

Z = len(df.loc[df['Column1'] <= DF['Column1'].iloc[3]])

但这也给了我同样的错误。最终我想要的是:Numbers = [1,2,3]

for i in Numbers:

Ai = len(dfi.loc[dfi['Column1'] <= DFi['Column1'].iloc[2]])

Zi = len(dfi.loc[dfi['Column1'] <= DFi['Column1'].iloc[3]])

如果我键入以下内容,则输出将是等效的:A1 = len(df1.loc[df1['Column1'] <= DF1['Column1'].iloc[2]])

Z1 = len(df1.loc[df1['Column1'] >= DF1['Column1'].iloc[3]])

A2 = len(df2.loc[df1['Column1'] <= DF2['Column1'].iloc[2]])

Z2 = len(df2.loc[df1['Column1'] >= DF2['Column1'].iloc[3]])

A3 = len(df3.loc[df3['Column1'] <= DF3['Column1'].iloc[2]])

Z3 = len(df3.loc[df3['Column1'] >= DF3['Column1'].iloc[3]])

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值