编写一个程序,在 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

相关文章