0を埋めるのに助けが必要です。パンダを使用して別のデータフレームから1データフレームの欠損値を入力してください
以下のデータフレームには、「Item_Visibility」という列に0があります。私は2番目のデータフレームからの値でそれらを埋める必要があります(画像2)。 2つのデータフレーム間の共通の列は "Item_Identifier"です。事前に
おかげ
0を埋めるのに助けが必要です。パンダを使用して別のデータフレームから1データフレームの欠損値を入力してください
以下のデータフレームには、「Item_Visibility」という列に0があります。私は2番目のデータフレームからの値でそれらを埋める必要があります(画像2)。 2つのデータフレーム間の共通の列は "Item_Identifier"です。事前に
おかげ
はこれを試してみてください。
import pandas as pd
import numpy as np
df = pd.DataFrame({"A":["a", "b", "c", "d", "e"], "B":[1, 2, 0, 0, 0]})
s = pd.Series([10, 20, 30, 40], index=["a", "b", "c", "d"])
mask = df["B"] == 0
df.loc[mask, "B"] = s[df.loc[mask, "A"]].values
DF:
A B
0 a 1
1 b 2
2 c 0
3 d 0
4 e 0
S:
a 10
b 20
c 30
d 40
dtype: int64
出力:ご返信用
A B
0 a 1.0
1 b 2.0
2 c 30.0
3 d 40.0
4 e NaN
私はあなたがmap
によってSeries
によってmapingでmask
を使用することができると思う:
print (df1)
a b c d
0 FDA15 9.30 Low Fat 0.016
1 FDX07 19.20 Regular 0.000
2 NCD19 8.93 Low Fat 0.000
3 FDP10 NaN Low Fat 0.127
print (df2)
e d
0 FDW59 0.0202
1 FDX07 0.0178
df1.d = df1.d.mask(df1.d == 0, df1.a.map(df2.set_index('e')['d']))
print (df1)
a b c d
0 FDA15 9.30 Low Fat 0.0160
1 FDX07 19.20 Regular 0.0178
2 NCD19 8.93 Low Fat NaN
3 FDP10 NaN Low Fat 0.1270
おかげでたくさん働い – Amit
感謝 – Amit