编写一个程序,在 Pandas 系列中附加从 1 到 100 的魔法数字
pythonpandasserver side programmingprogramming
附加从 1 到 100 的魔法数字的结果是,
魔法数字系列: 0 1 1 10 2 19 3 28 4 37 5 46 6 55 7 64 8 73 9 82 10 91 11 100
为了解决这个问题,我们将遵循以下方法 −
解决方案 1
创建列表推导以将 1 到 100 的值附加到列表 ls。
ls = [i for i in range(1,101)]
应用 lambda 过滤函数来存储可被 9 整除的值,结果是 1。
l = list(filter(lambda i:i%9==1,ls))
从列表 l 创建一个系列。
pd.Series(l)
示例
让我们看看下面的代码以更好地理解,
import pandas as pd ls = [i for i in range(1,101)] l = list(filter(lambda i:i%9==1,ls)) print("magic number series:\n",pd.Series(l))
输出
magic number series: 0 1 1 10 2 19 3 28 4 37 5 46 6 55 7 64 8 73 9 82 10 91 11 100
解决方案 2
创建一个空列表
将 for 循环范围设置为 1 到 101,并将 digit_sum 设置为 0
for i in range(1,101): digit_sum = 0
将 i 值分配给临时值,以便 i 值无法更改。
将 while 循环条件设置为 temp>0
按如下方式计算余数和 digit_sum,
while(temp>0): rem = temp % 10 digit_sum = digit_sum + rem temp = temp // 10
最后设置 if 条件以检查 digit_sum 值是 1 还是 10。如果为真,则将值附加到列表中
if(digit_sum==1 or digit_sum==10): l.append(i)
最后,从列表中生成一个系列。
示例
让我们检查以下代码以获得更好的理解−
import pandas as pd l = [] for i in range(1,101): digit_sum = 0 temp = i while(temp>0): rem = temp % 10 digit_sum = digit_sum + rem temp = temp // 10 if(digit_sum==1 or digit_sum==10): l.append(i) print("magic number series:\n",pd.Series(l))
输出
magic number series: 0 1 1 10 2 19 3 28 4 37 5 46 6 55 7 64 8 73 9 82 10 91 11 100