質問: いつもお世話になっております。 標記について教えていただきたいことがあります。 下記のようなDataFrameがあるとします。 df | | col1 | col2 | col3 | | --- | --- | --- | --- | | idx0 | 0.470484 | 0.529014 | 0.200872 | | idx1 | 0.036357 | 0.999937 | 0.949096 | | idx2 | 0.097277 | 0.152169 | 0.568015 | これを、 df2 | | col1 | | --- | --- | | idx0 | 0.470484 | | idx1 | 0.036357 | | idx2 | 0.097277 | を抽出します。 このとき、df2はSeries型の場合と、DataFrame型の場合があるとします。 型を変えて`pd.corrwith`を行うと、結果が変わってきます。 <dfとdf2(DataFrame)の場合> col1:XX(何かしらの値) col2:NaN col3:NaN という結果になります。 同じカラム同士の相関しか計算していないのだと思います。 <dfとdf2(Series)の場合> col1:XX(何かしらの値) col2:XX(何かしらの値) col3:XX(何かしらの値) となります。 これは、型によって計算結果が変わるのでしょうか? ご存じの方がいましたら、教えていただければと思います。 どうぞよろしくお願い致します。
回答: https://github.com/pandas-dev/pandas/blob/v0.25.1/pandas/core/frame.py#L7646-L7731 ソースをご覧になればわかりやすいかと。 ``` if isinstance(other, Series): return this.apply(lambda x: other.corr(x, method=method), axis=axis) ```