【发布时间】:2023-03-19 15:58:01
【问题描述】:
我有一个数据框
>> test = pd.DataFrame({'A': ['a', 'b', 'b', 'b'], 'B': [1, 2, 3, 4], 'C': [np.nan, np.nan, np.nan, np.nan], 'D': [np.nan, np.nan, np.nan, np.nan]})
A B C D
0 a 1
1 b 2
2 b 3
3 b 4
我还有一本字典,其中input_b 中的b 表示我只修改row.A = b 所在的行。
>> input_b = {2: ['Moon', 'Elephant'], 4: ['Sun', 'Mouse']}
如何使用字典中的值填充 DataFrame 以获取
A B C D
0 a 1
1 b 2 Moon Elephant
2 b 3
3 b 4 Sun Mouse
【问题讨论】:
-
我了解如何通过首先将字典转换为数据框然后将其与第一个数据框合并来做到这一点。但是,如果第一个数据帧(测试)比我希望修改的部分大得多,这会变得非常慢。
-
我认为使用
pd.from_dict(your_dictionary)将您的字典转换为数据框,然后与input_b合并在我看来是最好的解决方案。如果有更好的解决方案,我会感到惊讶。
标签: python pandas dataframe assign