编写一个程序在Pandas系列中附加从1到100的魔数
通过附加从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("魔数序列:\n",pd.Series(l))
输出
魔数序列:
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 & gt; 0
-
计算余数和digit_sum如下,
while(temp>0):
rem = temp % 10
digit_sum = digit_sum + rem
temp = temp // 10
- 最后,如果条件设置为检查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))
输出
魔数序列:
0 1
1 10
2 193 28
4 37
5 46
6 55
7 64
8 73
9 82
10 91
11 100