1
多くの列を持つ大きなDataFrameがあります。私はまた、2つの列を持つ小さなDataFrameを持っています - それらを 'Label'と 'Value'と呼んでください。どちらも大きなDataFrameにあります。大きいDataFrameの「value」列を、小さなDataFrameの「value」列で置き換えます。大規模なDataFrameの行では、「label」が小さいDataFrameの行と一致します。 forループの面で部分地図を使用してpandas DataFrameの列を更新します
ロジックがある:それは小さなDFにないラベルをNaNのため
largeDF = pd.DataFrame([['a',1],['b',2],['c',3],['d',4],['e',5]], columns=['label','value']).set_index('label')
smallDF = pd.DataFrame([['d',6],['e',7]], columns=['label','value']).set_index('label')
for label in smallDF.index:
largeDF.loc[label,'value'] = smallDF.loc[label,'value']
は残念ながら
largeDF['value'] = smallDF['value']
の明白な答えは動作しません。 .map()も同様の問題があります。
私が使用しているforループは、非常にunpythonic、unpandas、slowのようです。私が行方不明になっているこのより良い方法は何ですか?