Я хочу провести корреляционный анализ и визуализировать результат на тепловой карте Seaborn.
Но почему-то мне кажется, что в моем корр. матрица, но в моей тепловой карте только 21 столбец. Они работают с одними и теми же пандами DataFrame. Может ли кто-нибудь помочь «согласовать» эти 2 вывода, чтобы они были более достоверными?
Я не могу передать вам свои данные, так как они засекречены. Но я могу предоставить соответствующую часть кода вывода:
new_df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 406590 entries, 0 to 406589
Data columns (total 27 columns):
status 406590 non-null object
ZipCode 406590 non-null int64
CommuneName 406590 non-null object
CompanyType 406590 non-null object
sectiondescription 406590 non-null object
Db07description 406590 non-null object
FoundedDate 406590 non-null int64
UpdatedAt 406590 non-null object
HasSupplementaryInformationOnOtherMattersExtendedReview 406590 non-null int64
NumberOfSupplementaryInformationOnOtherMattersExtendedReview 406590 non-null int64
NumberOfNegativeEquityStreak 406590 non-null int64
NumberOfNegativeEquityTotal 406590 non-null int64
HasNegativeEquity 406590 non-null int64
GrossProfit 211340 non-null float64
ProfitLoss 404409 non-null float64
ProfitLossDeltaPercentage 293324 non-null float64
CurrentAssets 373672 non-null float64
Assets 401293 non-null float64
ContributedCapital 389849 non-null float64
Equity 403463 non-null float64
ShorttermLiabilitiesOtherThanProvisions 370314 non-null float64
LiabilitiesAndEquity 401269 non-null float64
CurrentRatio 351068 non-null float64
ReturnOnInvestment 335243 non-null float64
Solidity 389800 non-null float64
SolidityDelta 288162 non-null float64
SolidityDeltaPercentage 286526 non-null float64
dtypes: float64(14), int64(7), object(6)
memory usage: 83.8+ MB
new_df
new_df.corr()
ZipCode FoundedDate HasSupplementaryInformationOnOtherMattersExtendedReview NumberOfSupplementaryInformationOnOtherMattersExtendedReview NumberOfNegativeEquityStreak NumberOfNegativeEquityTotal HasNegativeEquity GrossProfit ProfitLoss ProfitLossDeltaPercentage ... Assets ContributedCapital Equity ShorttermLiabilitiesOtherThanProvisions LiabilitiesAndEquity CurrentRatio ReturnOnInvestment Solidity SolidityDelta SolidityDeltaPercentage
ZipCode 1.000000 -0.069511 0.002012 0.002012 -0.026386 -0.023624 -0.039029 -0.006337 -0.000921 -0.000053 ... -0.005082 -0.001132 -0.001403 -0.005764 -0.004654 0.001595 -0.000647 -0.001542 -0.002016 -0.002050
FoundedDate -0.069511 1.000000 0.001771 0.001771 0.075595 0.074350 0.136362 -0.034162 -0.007959 0.004283 ... -0.008046 -0.005028 -0.006730 -0.009167 -0.008307 -0.003366 -0.002030 -0.000224 0.000021 -0.000512
HasSupplementaryInformationOnOtherMattersExtendedReview 0.002012 0.001771 1.000000 1.000000 0.017882 0.018207 0.017321 -0.001370 -0.000323 0.000126 ... -0.000610 -0.000255 -0.000344 -0.000735 -0.000598 -0.000225 0.000123 0.000661 0.000321 -0.000294
NumberOfSupplementaryInformationOnOtherMattersExtendedReview 0.002012 0.001771 1.000000 1.000000 0.017882 0.018207 0.017321 -0.001370 -0.000323 0.000126 ... -0.000610 -0.000255 -0.000344 -0.000735 -0.000598 -0.000225 0.000123 0.000661 0.000321 -0.000294
NumberOfNegativeEquityStreak -0.026386 0.075595 0.017882 0.017882 1.000000 0.901202 0.810353 -0.010813 -0.003785 0.001227 ... -0.003773 -0.000702 -0.002996 -0.003183 -0.003471 -0.001383 -0.001574 -0.024193 -0.007302 0.005404
NumberOfNegativeEquityTotal -0.023624 0.074350 0.018207 0.018207 0.901202 1.000000 0.718382 -0.012509 -0.004148 0.000812 ... -0.003571 -0.000941 -0.003279 -0.002901 -0.003262 -0.001744 -0.001196 -0.021833 -0.006061 0.005286
HasNegativeEquity -0.039029 0.136362 0.017321 0.017321 0.810353 0.718382 1.000000 -0.013184 -0.005208 -0.001404 ... -0.004242 -0.000863 -0.003838 -0.002919 -0.003594 -0.001474 -0.005394 -0.019498 -0.008668 0.004836
GrossProfit -0.006337 -0.034162 -0.001370 -0.001370 -0.010813 -0.012509 -0.013184 1.000000 0.313382 -0.000074 ... -0.130506 -0.095524 -0.130232 -0.152877 -0.134392 0.001726 0.000117 0.000395 0.000190 -0.000176
ProfitLoss -0.000921 -0.007959 -0.000323 -0.000323 -0.003785 -0.004148 -0.005208 0.313382 1.000000 0.000010 ... 0.379039 0.910941 0.392317 -0.098137 0.380585 0.000024 0.000285 0.000146 0.000118 -0.000072
ProfitLossDeltaPercentage -0.000053 0.004283 0.000126 0.000126 0.001227 0.000812 -0.001404 -0.000074 0.000010 1.000000 ... 0.000016 0.000004 0.000013 -0.000008 -0.000001 0.000023 -0.007085 -0.032133 -0.000086 0.000009
CurrentAssets -0.005511 -0.018441 -0.001189 -0.001189 -0.007721 -0.008139 -0.006999 0.092310 0.055951 -0.000039 ... 0.555020 0.178718 0.201831 0.717497 0.602365 0.000269 0.000301 0.000252 0.000141 0.000090
Assets -0.005082 -0.008046 -0.000610 -0.000610 -0.003773 -0.003571 -0.004242 -0.130506 0.379039 0.000016 ... 1.000000 0.654815 0.459804 0.741743 0.976263 0.000031 0.000033 0.000121 0.000053 0.000014
ContributedCapital -0.001132 -0.005028 -0.000255 -0.000255 -0.000702 -0.000941 -0.000863 -0.095524 0.910941 0.000004 ... 0.654815 1.000000 0.481378 0.180485 0.661261 0.000022 0.000013 0.000047 0.000019 -0.000013
Equity -0.001403 -0.006730 -0.000344 -0.000344 -0.002996 -0.003279 -0.003838 -0.130232 0.392317 0.000013 ... 0.459804 0.481378 1.000000 0.391956 0.458600 0.000033 0.000029 0.000131 0.000063 -0.000017
ShorttermLiabilitiesOtherThanProvisions -0.005764 -0.009167 -0.000735 -0.000735 -0.003183 -0.002901 -0.002919 -0.152877 -0.098137 -0.000008 ... 0.741743 0.180485 0.391956 1.000000 0.768538 -0.000051 0.000050 0.000094 0.000042 0.000094
LiabilitiesAndEquity -0.004654 -0.008307 -0.000598 -0.000598 -0.003471 -0.003262 -0.003594 -0.134392 0.380585 -0.000001 ... 0.976263 0.661261 0.458600 0.768538 1.000000 0.000007 0.000055 0.000129 0.000059 -0.000018
CurrentRatio 0.001595 -0.003366 -0.000225 -0.000225 -0.001383 -0.001744 -0.001474 0.001726 0.000024 0.000023 ... 0.000031 0.000022 0.000033 -0.000051 0.000007 1.000000 0.000011 0.000041 0.000016 -0.000014
ReturnOnInvestment -0.000647 -0.002030 0.000123 0.000123 -0.001574 -0.001196 -0.005394 0.000117 0.000285 -0.007085 ... 0.000033 0.000013 0.000029 0.000050 0.000055 0.000011 1.000000 0.144242 0.145994 0.000021
Solidity -0.001542 -0.000224 0.000661 0.000661 -0.024193 -0.021833 -0.019498 0.000395 0.000146 -0.032133 ... 0.000121 0.000047 0.000131 0.000094 0.000129 0.000041 0.144242 1.000000 0.734009 0.000057
SolidityDelta -0.002016 0.000021 0.000321 0.000321 -0.007302 -0.006061 -0.008668 0.000190 0.000118 -0.000086 ... 0.000053 0.000019 0.000063 0.000042 0.000059 0.000016 0.145994 0.734009 1.000000 0.109639
SolidityDeltaPercentage -0.002050 -0.000512 -0.000294 -0.000294 0.005404 0.005286 0.004836 -0.000176 -0.000072 0.000009 ... 0.000014 -0.000013 -0.000017 0.000094 -0.000018 -0.000014 0.000021 0.000057 0.109639 1.000000
21 rows × 21 columns
Суть в том, что df.info () устанавливает, что у меня 27 столбцов, но корреляционная матрица показывает только 21.
Кто-нибудь?






Трудно вдаваться в детали без реального понимания данных, но из того, что вы предоставили, я думаю, что это верно:
Если вы посмотрите на свои типы столбцов, то увидите, что 6 из них относятся к типу object, и все они отброшены. Все это кажется описательным или каким-то другим строковым объектом, который, очевидно, будет трудно коррелировать осмысленно со всеми вашими числовыми переменными. Например, что может представлять корреляция между «CommuneName» (если это строка) и «CurrentAssets»?
Что вы могли бы сделать, так это выяснить, где корреляция будет иметь смысл, и соответствующим образом преобразовать эти переменные; например, вы можете горячее кодирование некоторых релевантных переменных, таких как CommuneName, чтобы вы могли видеть тенденцию между отдельными коммунами и их активами (чтобы взять два примера функций, которые я изложил выше).
Но действительно стоит задуматься о том, сколько будут означать эти поправки. Например, мне сложно представить, как вы коррелируете "Db07description" (который, как я полагаю, является просто текстовым описанием чего-то) и числом, по крайней мере, не со значительной предварительной обработкой данных вашего описания, чтобы превратить его в какой-то значимый вектор. . Если нет значимой интерпретации, подумайте о том, чтобы исключить некоторые переменные из вашего текущего анализа (что в основном уже сделано для вас .corr()).
[РЕДАКТИРОВАТЬ] Просто обратите внимание, просто потому, что pandas считывает некоторые из ваших переменных как числовые, не означает, что они имеют действительно правдоподобную интерпретацию: например, почтовый индекс - это целое число. Означает ли это, что это целое число следует интерпретировать как влияющее на что-то еще, если оно увеличивается или уменьшается? Лучше ли жить в почтовом индексе 95061, чем в 95062потому что его стоимость на единицу ниже? Лучше считать это категоричным, а не числовым.