更改与条件匹配的列中的行的值与列表或熊猫系列的值

时间:2019-11-18 10:35:23

标签: python pandas dataframe

我想基于两个条件选择行

df.Length.str.isnumeric() == False & df.Type == "Type1"

并将特定列Length中所有对应行的值更改为列表中的值,例如:

[120, 2151, 215, 25, 2451]

谢谢!

1 个答案:

答案 0 :(得分:0)

已编辑

在您发表评论之后,我想出了一个较短的解决方案。

import pandas as pd
import math

df = pd.DataFrame(
                [
                [10, 15, float('NaN')],
                [25, 30, 35],
                [40, 45, 50],
                [55, 60, float('NaN')]
                ], columns=list('ABC'))

pre_computed_list = [20, 65]


row_indices = df['C'][df['C'].apply(math.isnan)].index.tolist()
df['C'][row_indices] = pre_computed_list