編寫一個程式,將 1 到 100 的魔術數字追加到 Pandas 系列中


將 1 到 100 的魔術數字追加的結果是:

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

為了解決這個問題,我們將遵循以下方法:

方案 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

更新於:2021年2月25日

765 次檢視

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.