私はパンダに不慣れです、私は交換の問題に直面しています。そこで、パラメータに基づいてデータフレームの列の値を置き換える関数を作成しています。以下に示すように、列のすべての値を1つの値のみに置き換える必要があるという条件があります。エラーを取得しようとしましたが、「長さが一致しませんでした」
def replace(df,column,condition):
for i in column:
for j in condition:
df[i]=j
return df
column = ['A','C']
condition = 11,34
df
A B C
0 12 5 1
1 13 6 5
2 14 7 7
replace(df,column,condition)
my excepted output:
A B C
0 11 5 34
1 11 6 34
2 11 7 34
編集:私は最初に使用することを提案しましたapply
が、シリーズの既存の値を無視しているので、それは必要ないことに気づきました。これはより簡単で、目的に役立つはずです。
例:
import pandas as pd
data = [[12, 5, 1], [13, 5, 5], [14, 7, 7]]
df = pd.DataFrame(data, columns = ["A", "B", "C"])
def replace(df, columns, values):
for one_column, one_value in zip(columns, values):
df[one_column] = one_value
return df
print(replace(df, ["A", "C"], [11, 34]))
出力:
A B C
0 11 5 34
1 11 5 34
2 11 7 34
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加