Python
 Computer >> コンピューター >  >> プログラミング >> Python

パンダシリーズで1から100までのマジックナンバーを追加するプログラムを作成します


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

  • リスト内包表記を作成して、リストlsに1から100の値を追加します。

ls = [i for i in range(1,101)]
  • ラムダフィルター関数を適用して、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

  • 空のリストを作成する

  • ループ範囲を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のいずれかでチェックします。trueの場合は、値をリストに追加します

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

  1. PandasシリーズのMatplotlibで棒グラフをプロットする方法は?

    matplotlibでPandasシリーズの棒グラフをプロットするには、次の手順を実行できます- 1から10の範囲のさまざまなキーの辞書を作成します。 Pandasデータフレームを使用してデータフレームを作成します。 plot()を使用して棒グラフを作成します kind =barを使用するメソッド 。 図を表示するには、 show()を使用します メソッド。 例 import pandas as pd from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [

  2. 特定のシリーズの有効な日付をフィルタリングするプログラムをPythonで作成します

    入力 −シリーズがあると仮定します 0 2010-03-12 1 2011-3-1 2 2020-10-10 3 11-2-2 出力 −そして、シリーズの有効な日付の結果は、 0 2010-03-12 2 2020-10-10 ソリューション1 シリーズを定義します。 ラムダフィルターメソッドを適用して、一連のパターンを検証します。 data = pd.Series(l) result = pd.Series(filter(lambda x:re.match(r"\d{4}\W\d{2}\W\d{2}",x),data)) 最後に、isin()関数を