Pythonでプログラムを作成して、特定のDataFrameのインデックスと列を転置します
入力 −
DataFrameがあり、インデックスと列の転置の結果は、
であると想定します。Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6
ソリューション1
-
DataFrameを定義する
-
ネストされたリスト内包表記を設定して、2次元リストデータの各要素を反復し、結果に保存します。
result = [[data[i][j] for i in range(len(data))] for j in range(len(data[0]))
-
結果をDataFrameに変換します
df2 = pd.DataFrame(result)
例
完全な実装を見て、理解を深めましょう-
import pandas as pd data = [[1,2,3],[4,5,6]] df = pd.DataFrame(data) print("Original DataFrame is\n", df) result = [[data[i][j] for i in range(len(data))] for j in range(len(data[0]))] df2 = pd.DataFrame(result) print("Transposed DataFrame is\n", df2)
出力
Original DataFrame is 0 1 2 0 1 2 3 1 4 5 6 Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6
ソリューション2
-
DataFrameを定義する
-
df.Tまたはdf.transpose()のいずれかの転置メソッドをDataFrameに適用します。
df.transpose() # or df.T
例
完全な実装を見て、理解を深めましょう-
import pandas as pd data = [[1,2,3],[4,5,6]] df = pd.DataFrame(data) print("Original DataFrame is\n", df) print("Transposed DataFrame is\n", df.transpose())
出力
Original DataFrame is 0 1 2 0 1 2 3 1 4 5 6 Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6
ソリューション3
-
DataFrameを定義する
-
Zipメソッドは、タプルのイテレータを返します。 *を使用して2次元リストに解凍し、zipするように適用します。以下に定義されています
result = zip(*data)
-
結果をDataFrameに変換します
df2 = pd.DataFrame(result)
例
完全な実装を見て、理解を深めましょう-
import pandas as pd data = [[1,2,3],[4,5,6]] df = pd.DataFrame(data) print("Original DataFrame is\n", df) result = zip(*data) df2 = pd.DataFrame(result) print("Transposed DataFrame is\n", df2)
出力
Original DataFrame is 0 1 2 0 1 2 3 1 4 5 6 Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6
-
与えられた数Nの桁数を数えるプログラムをPythonで書く
数値Nを指定したとしましょう。タスクは、数値に存在する桁の総数を見つけることです。たとえば、 入力-1 − N = 891452 出力 − 6 説明 −指定された番号891452には6桁が含まれているため、この場合は「6」を返します。 入力-2 − N = 0074515 出力 − 5 説明 −指定された番号0074515には5桁が含まれているため、出力を5として出力します。 この問題を解決するために使用されるアプローチ この問題は次の方法で解決できます 数字として入力「n」を取ります。 関数countDigits(n)は、入力「n」を受け取り、出力として桁数
-
Pythonで与えられた行列の転置を見つけるプログラム
(n x n)行列Mがあるとすると、その転置を見つける必要があります。私たちが知っているように、行列の転置は行と列のインデックスを切り替えます。より正式には、すべてのrとcについて、matrix [r] [c] =matrix[c][r]。 したがって、入力が次のような場合 7 2 6 3 7 2 5 3 7 その場合、出力は次のようになります 7 3 5 2 7 3 6 2 7 これを解決するには、次の手順に従います- M:=新しいリスト トラッカー:=0 トラッカー<