python - 如何绘制来自具有相同列名的两个数据框的数据
问题描述
假设我有两个 DataFrame(示例和控件),如下所示:
df_Sample =\
{'Nuclei in individual cell region Selected - Nucleus Area [µm²]': {0: 189.48, 1: 153.736, 2: 199.219, 3: 221.4, 4: 261.648, 5: 304.089, 6: 345.935, 7: 218.935, 8: 232.601, 9: 240.912, 10: 208.125, 11: 260.713, 12: 161.112, 13: 270.181, 14: 165.888, 15: 342.077, 16: 158.376, 17: 557.035, 18: 319.913, 19: 257.297},
'Nuclei in individual cell region Selected - Nucleus Roundness': {0: 0.913951, 1: 0.93739, 2: 0.93725, 3: 0.869216, 4: 0.828391, 5: 0.978106, 6: 0.955958, 7: 0.92616, 8: 0.78398, 9: 0.977184, 10: 0.848469, 11: 0.984681, 12: 0.908689, 13: 0.910773, 14: 0.908787, 15: 0.986723, 16: 0.976819, 17: 0.95381, 18: 0.976402, 19: 0.930968},
'Nuclei in individual cell region Selected - Nucleus Width [µm]': {0: 11.4282, 1: 12.2188, 2: 13.9467, 3: 12.9901, 4: 14.3977, 5: 17.4717, 6: 17.0762, 7: 14.3598, 8: 11.9658, 9: 15.5159, 10: 14.1908, 11: 15.9906, 12: 11.1176, 13: 15.854, 14: 12.266, 15: 18.1792, 16: 12.6883, 17: 22.2749, 18: 18.5788, 19: 14.8166},
'Nuclei in individual cell region Selected - Nucleus Length [µm]': {0: 18.9918, 1: 15.8738, 2: 16.5248, 3: 19.1131, 4: 21.3145, 5: 20.084, 6: 24.1163, 7: 18.2035, 8: 22.8184, 9: 19.0128, 10: 18.5242, 11: 21.1097, 12: 16.8669, 13: 21.2989, 14: 16.8885, 15: 23.6588, 16: 15.8094, 17: 29.3571, 18: 21.1347, 19: 19.8769},
'Nuclei in individual cell region Selected - Nucleus Ratio Width to Length': {0: 0.601743, 1: 0.769748, 2: 0.843986, 3: 0.679645, 4: 0.675488, 5: 0.869933, 6: 0.708077, 7: 0.788848, 8: 0.524394, 9: 0.816074, 10: 0.766064, 11: 0.757499, 12: 0.659136, 13: 0.744356, 14: 0.726293, 15: 0.768394, 16: 0.80258, 17: 0.758756, 18: 0.879065, 19: 0.745417},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 Haralick Correlation 1 px': {0: 0.98371, 1: 0.97789, 2: 0.978729, 3: 0.961711, 4: 0.976911, 5: 0.966404, 6: 0.98986, 7: 0.972134, 8: 0.970894, 9: 0.949579, 10: 0.964805, 11: 0.970876, 12: 0.966332, 13: 0.978358, 14: 0.984657, 15: 0.965988, 16: 0.989449, 17: 0.970398, 18: 0.962764, 19: 0.962354},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 Haralick Contrast 1 px': {0: 0.00262663, 1: 0.00337056, 2: 0.00384226, 3: 0.00407926, 4: 0.00339842, 5: 0.00268196, 6: 0.00258363, 7: 0.0026726, 8: 0.0039011, 9: 0.0049614, 10: 0.00584036, 11: 0.00359065, 12: 0.00503498, 13: 0.00360473, 14: 0.00342672, 15: 0.00324812, 16: 0.00266534, 17: 0.00354377, 18: 0.00508052, 19: 0.00399667},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 Haralick Sum Variance 1 px': {0: 0.0799574, 1: 0.075373, 2: 0.089302, 3: 0.0522426, 4: 0.0727336, 5: 0.0392431, 6: 0.12669, 7: 0.0472695, 8: 0.0660276, 9: 0.0479593, 10: 0.0815123, 11: 0.0607464, 12: 0.0735158, 13: 0.0823799, 14: 0.110817, 15: 0.0469307, 16: 0.125631, 17: 0.0589657, 18: 0.0669395, 19: 0.0520771},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 Haralick Homogeneity 1 px': {0: 0.739913, 1: 0.68523, 2: 0.695601, 3: 0.671093, 4: 0.708442, 5: 0.753666, 6: 0.787906, 7: 0.727063, 8: 0.680108, 9: 0.634683, 10: 0.626611, 11: 0.687146, 12: 0.661779, 13: 0.678676, 14: 0.695092, 15: 0.724737, 16: 0.748956, 17: 0.697572, 18: 0.647701, 19: 0.677194},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 SER Spot 0 px': {0: 0.005843, 1: 0.00580018, 2: 0.0071962, 3: 0.00964391, 4: 0.00578204, 5: 0.00631538, 6: 0.00591882, 7: 0.00738057, 8: 0.00797945, 9: 0.0107222, 10: 0.00789028, 11: 0.0079751, 12: 0.00720769, 13: 0.00583212, 14: 0.00612275, 15: 0.00729683, 16: 0.00605783, 17: 0.00678319, 18: 0.00903149, 19: 0.00873706},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 SER Hole 0 px': {0: 0.0053161, 1: 0.00527502, 2: 0.00624592, 3: 0.00904184, 4: 0.00543591, 5: 0.00533345, 6: 0.00579994, 7: 0.00647572, 8: 0.00731868, 9: 0.0104302, 10: 0.00760632, 11: 0.00771892, 12: 0.00689596, 13: 0.00578755, 14: 0.00604904, 15: 0.00727409, 16: 0.00561067, 17: 0.00706209, 18: 0.00924693, 19: 0.00861305},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 SER Edge 0 px': {0: 0.0554048, 1: 0.0704348, 2: 0.062886, 3: 0.0676434, 4: 0.0616821, 5: 0.0566622, 6: 0.0475497, 7: 0.056854, 8: 0.0712491, 9: 0.077949, 10: 0.0817617, 11: 0.0688477, 12: 0.0827153, 13: 0.0629512, 14: 0.0608878, 15: 0.0607465, 16: 0.0560636, 17: 0.0645136, 18: 0.0726108, 19: 0.066896},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 SER Ridge 0 px': {0: 0.00924915, 1: 0.00908236, 2: 0.0118103, 3: 0.0165759, 4: 0.0101151, 5: 0.0109813, 6: 0.00959717, 7: 0.0121257, 8: 0.0136556, 9: 0.0180968, 10: 0.0136057, 11: 0.0143802, 12: 0.014296, 13: 0.00956464, 14: 0.0105358, 15: 0.0127249, 16: 0.00991149, 17: 0.012284, 18: 0.015938, 19: 0.0156756},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 SER Valley 0 px': {0: 0.0104073, 1: 0.0108218, 2: 0.0132724, 3: 0.0186756, 4: 0.012417, 5: 0.0120152, 6: 0.0107475, 7: 0.0132826, 8: 0.0163031, 9: 0.0216996, 10: 0.0181437, 11: 0.0155132, 12: 0.018504, 13: 0.0125872, 14: 0.012248, 15: 0.0145793, 16: 0.0104176, 17: 0.0148176, 18: 0.0189796, 19: 0.0183744},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 SER Saddle 0 px': {0: 0.0110422, 1: 0.0115229, 2: 0.0137925, 3: 0.0184715, 4: 0.012461, 5: 0.0114347, 6: 0.00987503, 7: 0.0135181, 8: 0.0158798, 9: 0.0205525, 10: 0.017767, 11: 0.0154586, 12: 0.0151242, 13: 0.0124683, 14: 0.0119072, 15: 0.0141378, 16: 0.0104225, 17: 0.0142464, 18: 0.0184273, 19: 0.0172968},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 SER Bright 0 px': {0: 0.0131424, 1: 0.012963, 2: 0.0165551, 3: 0.0228766, 4: 0.0138591, 5: 0.0150853, 6: 0.0135239, 7: 0.0169965, 8: 0.0188593, 9: 0.0251123, 10: 0.0187394, 11: 0.0194767, 12: 0.01881, 13: 0.013414, 14: 0.0145416, 15: 0.0174515, 16: 0.0138995, 17: 0.0166307, 18: 0.0217725, 19: 0.0213088},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 SER Dark 0 px': {0: 0.0137252, 1: 0.0140704, 2: 0.017077, 3: 0.0242349, 4: 0.0156365, 5: 0.0152167, 6: 0.0145082, 7: 0.0172853, 8: 0.0206896, 9: 0.0281842, 10: 0.0225596, 11: 0.0203449, 12: 0.0224352, 13: 0.016074, 14: 0.0160069, 15: 0.0191488, 16: 0.0139954, 17: 0.0191773, 18: 0.0247077, 19: 0.0236879},
'Nuclei in individual cell region Selected - Intensity Nucleus HOECHST 33342 Mean': {0: 10439.2, 1: 8599.48, 2: 11024.7, 3: 14120.2, 4: 13009.2, 5: 14328.9, 6: 8880.34, 7: 13258.0, 8: 13797.4, 9: 11089.1, 10: 8444.29, 11: 18060.7, 12: 12378.4, 13: 10022.7, 14: 11975.5, 15: 10022.7, 16: 7041.5, 17: 13130.3, 18: 16532.3, 19: 13920.7},
'Nuclei in individual cell region Selected - Intensity Nucleus HOECHST 33342 StdDev': {0: 3146.52, 1: 2589.1, 2: 3462.54, 3: 3468.93, 4: 3741.13, 5: 3113.11, 6: 3266.78, 7: 3160.88, 8: 3893.39, 9: 2664.13, 10: 2586.55, 11: 4766.58, 12: 3712.11, 13: 3047.99, 14: 4211.4, 15: 2354.91, 16: 2635.87, 17: 3371.18, 18: 4531.04, 19: 3411.83},
'Nuclei in individual cell region Selected - Individual Cell Region resized Area [µm²]': {0: 445.553, 1: 397.35, 2: 442.885, 3: 510.77, 4: 697.139, 5: 915.99, 6: 1016.63, 7: 528.905, 8: 778.639, 9: 729.705, 10: 611.068, 11: 532.118, 12: 413.038, 13: 951.751, 14: 316.65, 15: 1195.33, 16: 490.731, 17: 1677.82, 18: 1153.86, 19: 769.885},
'Nuclei in individual cell region Selected - Individual Cell Region resized Roundness': {0: 0.857263, 1: 0.795805, 2: 0.814236, 3: 0.854813, 4: 0.831398, 5: 0.777984, 6: 0.787167, 7: 0.747858, 8: 0.750062, 9: 0.762677, 10: 0.771427, 11: 0.780667, 12: 0.884383, 13: 0.666342, 14: 0.765064, 15: 0.808236, 16: 0.85367, 17: 0.79878, 18: 0.630026, 19: 0.838658},
'Nuclei in individual cell region Selected - Individual Cell Region resized Width [µm]': {0: 20.4397, 1: 18.2035, 2: 17.217, 3: 18.6955, 4: 22.8935, 5: 24.9457, 6: 27.1186, 7: 19.1837, 8: 20.5044, 9: 24.3093, 10: 19.5575, 11: 21.0186, 12: 17.3154, 13: 23.012, 14: 16.2186, 15: 26.8312, 16: 21.4016, 17: 32.6773, 18: 27.1085, 19: 25.9816},
'Nuclei in individual cell region Selected - Individual Cell Region resized Length [µm]': {0: 28.0335, 1: 28.1183, 2: 31.5599, 3: 31.9347, 4: 36.3173, 5: 51.6394, 6: 41.2543, 7: 38.9602, 8: 52.7941, 9: 43.4318, 10: 42.1264, 11: 36.0593, 12: 30.6021, 13: 50.7546, 14: 24.1592, 15: 56.6319, 16: 27.9525, 17: 61.0174, 18: 57.4963, 19: 42.2456},
'Nuclei in individual cell region Selected - Individual Cell Region resized Ratio Width to Length': {0: 0.729115, 1: 0.647391, 2: 0.545533, 3: 0.585429, 4: 0.630374, 5: 0.483074, 6: 0.65735, 7: 0.492392, 8: 0.388385, 9: 0.559713, 10: 0.464257, 11: 0.58289, 12: 0.565824, 13: 0.453397, 14: 0.671319, 15: 0.473783, 16: 0.765642, 17: 0.53554, 18: 0.471483, 19: 0.615013},
'Nuclei in individual cell region Selected - Relative Spot Intensity': {0: 0.00431319, 1: 0.0207483, 2: 0.0272823, 3: 0.0526484, 4: 0.0874202, 5: 0.0260405, 6: 0.0325056, 7: 0.0588061, 8: 0.0335587, 9: 0.0496844, 10: 0.0273733, 11: 0.0306711, 12: 0.014466, 13: 0.0147694, 14: 0.0207914, 15: 0.0134007, 16: 0.0534635, 17: 0.0133466, 18: 0.113961, 19: 0.00055431},
'Nuclei in individual cell region Selected - Number of Spots per Area of Individual Cell Region resized': {0: 0.000228885, 1: 0.000299427, 2: 0.000460529, 3: 0.000898473, 4: 0.00112151, 5: 0.000575225, 6: 0.000618595, 7: 0.00144611, 8: 0.000720351, 9: 0.000163049, 10: 0.000361593, 11: 0.000511068, 12: 0.000329205, 13: 0.000375027, 14: 0.000536769, 15: 0.000270167, 16: 0.000831255, 17: 0.000344429, 18: 0.00138465, 19: 2.2077e-05},
'Compound': {0: 'Ciprofloxacin-Low', 1: 'Flunisolide-Medium', 2: 'Famprofazone-Medium', 3: 'Alprenolol-High', 4: 'Dyclonine-Low', 5: 'Flunisolide-Medium', 6: 'Zaleplon-Medium', 7: 'Hexetidine-Low', 8: 'Hexetidine-High', 9: 'Amprolium-Medium', 10: 'Pindolol-Low', 11: 'Zaleplon-High', 12: 'Famprofazone-Low', 13: 'Dyclonine-High', 14: 'Montensin-Medium', 15: 'Pindolol-Medium', 16: 'Hexetidine-Medium', 17: 'Flunisolide-Medium', 18: 'Dyclonine-Medium', 19: 'Hexetidine-Low'}}
df1_Sample = pd.DataFrame(df_Sample)
df_Control =\
{'Nuclei in individual cell region Selected - Nucleus Area [µm²]': {106695: 205.185, 106696: 160.008, 106697: 329.227, 106698: 264.521, 106699: 242.867, 106700: 225.598, 106701: 53.7438, 106702: 63.8908, 106703: 208.244, 106704: 195.48, 106705: 218.51, 106706: 160.262, 106707: 190.568, 106708: 254.697, 106709: 239.399, 106710: 59.5907, 106711: 228.267, 106712: 164.512, 106713: 125.691, 106714: 177.412},
'Nuclei in individual cell region Selected - Nucleus Roundness': {106695: 0.985695, 106696: 0.679483, 106697: 0.980048, 106698: 0.918674, 106699: 0.882368, 106700: 0.910482, 106701: 0.833087, 106702: 0.915233, 106703: 0.981635, 106704: 0.944526, 106705: 0.949615, 106706: 0.757661, 106707: 0.939818, 106708: 0.950865, 106709: 0.941393, 106710: 0.817561, 106711: 0.919093, 106712: 0.973769, 106713: 0.944191, 106714: 0.956228},
'Nuclei in individual cell region Selected - Nucleus Width [µm]': {106695: 12.7764, 106696: 10.5496, 106697: 18.2818, 106698: 14.348, 106699: 10.9667, 106700: 11.5818, 106701: 5.76001, 106702: 7.3426, 106703: 14.0801, 106704: 12.031, 106705: 13.4403, 106706: 11.6433, 106707: 12.6239, 106708: 13.4706, 106709: 13.9272, 106710: 6.47673, 106711: 12.4858, 106712: 12.6239, 106713: 10.9543, 106714: 12.5293},
'Nuclei in individual cell region Selected - Nucleus Length [µm]': {106695: 19.4166, 106696: 16.8765, 106697: 22.8452, 106698: 23.532, 106699: 24.0351, 106700: 22.2779, 106701: 9.97151, 106702: 10.0935, 106703: 18.1891, 106704: 19.4324, 106705: 19.2288, 106706: 15.9256, 106707: 17.6098, 106708: 24.0853, 106709: 20.7766, 106710: 10.9706, 106711: 19.783, 106712: 15.9821, 106713: 14.4354, 106714: 17.575},
'Nuclei in individual cell region Selected - Nucleus Ratio Width to Length': {106695: 0.658015, 106696: 0.62511, 106697: 0.800247, 106698: 0.609723, 106699: 0.45628, 106700: 0.519879, 106701: 0.577646, 106702: 0.727458, 106703: 0.774099, 106704: 0.61912, 106705: 0.698966, 106706: 0.731104, 106707: 0.716864, 106708: 0.559289, 106709: 0.670332, 106710: 0.590371, 106711: 0.631136, 106712: 0.789875, 106713: 0.758852, 106714: 0.7129},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 Haralick Correlation 1 px': {106695: 0.973546, 106696: 0.970546, 106697: 0.967139, 106698: 0.974698, 106699: 0.968529, 106700: 0.972811, 106701: 0.978456, 106702: 0.972309, 106703: 0.975749, 106704: 0.97255, 106705: 0.977455, 106706: 0.965869, 106707: 0.977174, 106708: 0.969181, 106709: 0.977156, 106710: 0.979732, 106711: 0.975186, 106712: 0.97187, 106713: 0.978189, 106714: 0.975682},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 Haralick Contrast 1 px': {106695: 0.00425443, 106696: 0.00819948, 106697: 0.00291286, 106698: 0.00296901, 106699: 0.00336917, 106700: 0.00358292, 106701: 0.00548305, 106702: 0.00543524, 106703: 0.00346719, 106704: 0.00445449, 106705: 0.00386494, 106706: 0.00941484, 106707: 0.00300193, 106708: 0.00308412, 106709: 0.00300024, 106710: 0.0049655, 106711: 0.00337084, 106712: 0.00346975, 106713: 0.00513168, 106714: 0.00352557},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 Haralick Sum Variance 1 px': {106695: 0.0793487, 106696: 0.137136, 106697: 0.0435847, 106698: 0.0579307, 106699: 0.0526702, 106700: 0.0649955, 106701: 0.125886, 106702: 0.0967257, 106703: 0.0706206, 106704: 0.0799989, 106705: 0.0847513, 106706: 0.135571, 106707: 0.0649855, 106708: 0.0492589, 106709: 0.0649172, 106710: 0.121263, 106711: 0.0670809, 106712: 0.0608073, 106713: 0.116288, 106714: 0.071609},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 Haralick Homogeneity 1 px': {106695: 0.657532, 106696: 0.546708, 106697: 0.72884, 106698: 0.721774, 106699: 0.700476, 106700: 0.696009, 106701: 0.618728, 106702: 0.59469, 106703: 0.693487, 106704: 0.647874, 106705: 0.678351, 106706: 0.528893, 106707: 0.706147, 106708: 0.72233, 106709: 0.714676, 106710: 0.605918, 106711: 0.700766, 106712: 0.691383, 106713: 0.646318, 106714: 0.70725},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 SER Spot 0 px': {106695: 0.00861118, 106696: 0.00931817, 106697: 0.00761309, 106698: 0.00837558, 106699: 0.0082335, 106700: 0.00795943, 106701: 0.00823312, 106702: 0.00783509, 106703: 0.00730663, 106704: 0.00735734, 106705: 0.00698037, 106706: 0.00857095, 106707: 0.007307, 106708: 0.00651859, 106709: 0.00674888, 106710: 0.00777671, 106711: 0.00729998, 106712: 0.00619496, 106713: 0.00603798, 106714: 0.0066989},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 SER Hole 0 px': {106695: 0.00781875, 106696: 0.00746205, 106697: 0.00702571, 106698: 0.00721342, 106699: 0.00711043, 106700: 0.00706697, 106701: 0.00467969, 106702: 0.00478292, 106703: 0.00639713, 106704: 0.00709484, 106705: 0.00655664, 106706: 0.00715089, 106707: 0.00645719, 106708: 0.00597439, 106709: 0.00616917, 106710: 0.00496998, 106711: 0.00638658, 106712: 0.00532789, 106713: 0.00529905, 106714: 0.00612883},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 SER Edge 0 px': {106695: 0.0729417, 106696: 0.110059, 106697: 0.0569585, 106698: 0.0598186, 106699: 0.0642045, 106700: 0.0669293, 106701: 0.0972561, 106702: 0.0924378, 106703: 0.0656912, 106704: 0.0757634, 106705: 0.069061, 106706: 0.111463, 106707: 0.063571, 106708: 0.0612379, 106709: 0.0594756, 106710: 0.09432, 106711: 0.065867, 106712: 0.0676253, 106713: 0.0765422, 106714: 0.0634227},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 SER Ridge 0 px': {106695: 0.0149807, 106696: 0.0148023, 106697: 0.0134511, 106698: 0.013989, 106699: 0.0136802, 106700: 0.0135172, 106701: 0.0128792, 106702: 0.0118276, 106703: 0.0124749, 106704: 0.0131911, 106705: 0.0119413, 106706: 0.0147721, 106707: 0.012416, 106708: 0.0114262, 106709: 0.0113361, 106710: 0.0129007, 106711: 0.0124422, 106712: 0.010958, 106713: 0.0110026, 106714: 0.0118087},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 SER Valley 0 px': {106695: 0.0161717, 106696: 0.0220035, 106697: 0.0138008, 106698: 0.0147323, 106699: 0.0145775, 106700: 0.0143745, 106701: 0.0137458, 106702: 0.0146674, 106703: 0.0141544, 106704: 0.0154375, 106705: 0.013253, 106706: 0.0246233, 106707: 0.0128277, 106708: 0.012231, 106709: 0.0126041, 106710: 0.013144, 106711: 0.0138948, 106712: 0.0126162, 106713: 0.0149189, 106714: 0.0139237},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 SER Saddle 0 px': {106695: 0.0164057, 106696: 0.0177186, 106697: 0.0141956, 106698: 0.0141493, 106699: 0.0148899, 106700: 0.0142285, 106701: 0.0138838, 106702: 0.0152582, 106703: 0.013782, 106704: 0.0151764, 106705: 0.0132659, 106706: 0.0180964, 106707: 0.013406, 106708: 0.0118983, 106709: 0.0130469, 106710: 0.0133371, 106711: 0.0139153, 106712: 0.0121744, 106713: 0.0139629, 106714: 0.013405},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 SER Bright 0 px': {106695: 0.0205846, 106696: 0.0209992, 106697: 0.0183712, 106698: 0.019501, 106699: 0.0190916, 106700: 0.0187158, 106701: 0.0183655, 106702: 0.0170604, 106703: 0.01726, 106704: 0.0179373, 106705: 0.0164909, 106706: 0.0203458, 106707: 0.0171765, 106708: 0.0156539, 106709: 0.0157577, 106710: 0.0180485, 106711: 0.0172014, 106712: 0.0149629, 106713: 0.0148986, 106714: 0.0161332},
'Nuclei in individual cell region Selected - Nucleus HOECHST 33342 SER Dark 0 px': {106695: 0.0209977, 106696: 0.0260261, 106697: 0.0182116, 106698: 0.0192058, 106699: 0.0189864, 106700: 0.0187439, 106701: 0.0162118, 106702: 0.017106, 106703: 0.0180129, 106704: 0.0197488, 106705: 0.0173244, 106706: 0.0281423, 106707: 0.0168369, 106708: 0.0159467, 106709: 0.0164385, 106710: 0.0159221, 106711: 0.0177785, 106712: 0.0157466, 106713: 0.0177876, 106714: 0.0176109},
'Nuclei in individual cell region Selected - Intensity Nucleus HOECHST 33342 Mean': {106695: 11255.9, 106696: 26866.3, 106697: 10728.4, 106698: 9493.33, 106699: 11029.7, 106700: 10894.4, 106701: 40807.4, 106702: 33047.2, 106703: 11523.0, 106704: 14381.5, 106705: 11346.3, 106706: 26054.4, 106707: 12701.5, 106708: 9906.32, 106709: 14341.3, 106710: 26745.4, 106711: 11314.5, 106712: 12563.2, 106713: 13698.5, 106714: 11522.0},
'Nuclei in individual cell region Selected - Intensity Nucleus HOECHST 33342 StdDev': {106695: 3365.55, 106696: 10684.8, 106697: 2379.63, 106698: 2439.61, 106699: 2738.63, 106700: 2988.91, 106701: 15826.6, 106702: 11332.9, 106703: 3275.83, 106704: 4358.66, 106705: 3512.88, 106706: 10206.0, 106707: 3486.11, 106708: 2382.69, 106709: 3903.72, 106710: 10256.8, 106711: 3153.22, 106712: 3386.94, 106713: 4945.58, 106714: 3311.51},
'Nuclei in individual cell region Selected - Individual Cell Region resized Area [µm²]': {106695: 473.462, 106696: 774.458, 106697: 1080.01, 106698: 775.12, 106699: 734.379, 106700: 491.614, 106701: 129.6, 106702: 211.134, 106703: 549.947, 106704: 359.89, 106705: 548.911, 106706: 564.429, 106707: 409.792, 106708: 637.515, 106709: 525.013, 106710: 146.614, 106711: 479.139, 106712: 357.323, 106713: 302.253, 106714: 377.957},
'Nuclei in individual cell region Selected - Individual Cell Region resized Roundness': {106695: 0.808892, 106696: 0.804004, 106697: 0.913968, 106698: 0.86118, 106699: 0.89257, 106700: 0.882859, 106701: 0.559616, 106702: 0.84152, 106703: 0.860951, 106704: 0.939933, 106705: 0.912447, 106706: 0.778607, 106707: 0.892991, 106708: 0.855366, 106709: 0.729886, 106710: 0.782424, 106711: 0.901534, 106712: 0.907393, 106713: 0.855864, 106714: 0.821204},
'Nuclei in individual cell region Selected - Individual Cell Region resized Width [µm]': {106695: 17.961, 106696: 24.8965, 106697: 30.1663, 106698: 25.6286, 106699: 23.994, 106700: 20.1043, 106701: 6.52379, 106702: 13.5987, 106703: 21.1186, 106704: 16.9182, 106705: 22.8623, 106706: 21.0169, 106707: 19.2897, 106708: 23.6516, 106709: 16.6386, 106710: 10.5238, 106711: 21.0928, 106712: 19.1464, 106713: 15.8732, 106714: 13.3183},
'Nuclei in individual cell region Selected - Individual Cell Region resized Length [µm]': {106695: 33.1711, 106696: 38.3933, 106697: 43.0947, 106698: 39.4182, 106699: 37.0375, 106700: 31.0506, 106701: 20.972, 106702: 20.0319, 106703: 33.7673, 106704: 28.7935, 106705: 28.5463, 106706: 36.9713, 106707: 29.5297, 106708: 32.7235, 106709: 38.1401, 106710: 16.6881, 106711: 30.8736, 106712: 24.0524, 106713: 24.5909, 106714: 32.0091},
'Nuclei in individual cell region Selected - Individual Cell Region resized Ratio Width to Length': {106695: 0.541467, 106696: 0.648461, 106697: 0.700001, 106698: 0.650171, 106699: 0.647832, 106700: 0.647469, 106701: 0.311071, 106702: 0.678853, 106703: 0.625416, 106704: 0.587569, 106705: 0.800884, 106706: 0.568466, 106707: 0.653231, 106708: 0.72277, 106709: 0.43625, 106710: 0.630619, 106711: 0.6832, 106712: 0.79603, 106713: 0.645494, 106714: 0.41608},
'Nuclei in individual cell region Selected - Relative Spot Intensity': {106695: 0.053115, 106696: 0.030453, 106697: 0.0528771, 106698: 0.0706828, 106699: 0.0553709, 106700: 0.0548624, 106701: 0.0991606, 106702: 0.0846535, 106703: 0.0676428, 106704: 0.138471, 106705: 0.0741397, 106706: 0.0459002, 106707: 0.0422811, 106708: 0.0763994, 106709: 0.0122011, 106710: 0.020017, 106711: 0.0777289, 106712: 0.0340526, 106713: 0.0368442, 106714: 0.0485223},
'Nuclei in individual cell region Selected - Number of Spots per Area of Individual Cell Region resized': {106695: 0.00107697, 106696: 0.00052672, 106697: 0.000865569, 106698: 0.0009429, 106699: 0.000833198, 106700: 0.000898907, 106701: 0.00170492, 106702: 0.000885526, 106703: 0.00108172, 106704: 0.00207802, 106705: 0.00105279, 106706: 0.000451698, 106707: 0.000829531, 106708: 0.000906473, 106709: 0.000258992, 106710: 0.000231857, 106711: 0.00106421, 106712: 0.000570803, 106713: 0.000843502, 106714: 0.000629581},
'Compound': {106695: 'Ctrl', 106696: 'Ctrl', 106697: 'Ctrl', 106698: 'Ctrl', 106699: 'Ctrl', 106700: 'Ctrl', 106701: 'Ctrl', 106702: 'Ctrl', 106703: 'Ctrl', 106704: 'Ctrl', 106705: 'Ctrl', 106706: 'Ctrl', 106707: 'Ctrl', 106708: 'Ctrl', 106709: 'Ctrl', 106710: 'Ctrl', 106711: 'Ctrl', 106712: 'Ctrl', 106713: 'Ctrl', 106714: 'Ctrl'}}
df1_Control = pd.DataFrame(df_Control)
我有一个具有许多特征(列)的许多药物(化合物)的数据集。我想创建一个循环,从 df_Sample 的每一列为每种药物生成直方图,并排在 facetgrid 中。此外,为了比较,我需要从 df_Control 中的相同列中获取数据,并将其合并到 df_Sample 的相应直方图上。当我只想拥有 df_Sample 直方图时,我可以从下面的代码中获得所需的结果:
i = 0
for i, column, in enumerate(df1_Sample.columns):
sns.FacetGrid(data=df1_Control, col='Compound', col_wrap= 6).map(plt.hist, column)
file_name = 'plot_' + column + '.png'
plt.savefig(file_name)
但是,不能使脚本用于将样本与同一图表上的相关控件合并。我想也许有人可以修改我想到的脚本:
i1 = 0
i2 = 0
for (i1, column1), (i2, column2) in zip(enumerate(df1_Sample.columns), enumerate(df1_Sample.columns)):
sns.FacetGrid(data=[df1_Sample, df1_Control], col='Compound', col_wrap= 6).map(plt.hist, column) #In FaceGrid, use col for determining the identifier, which is the name of the compounds.
sns.FacetGrid(data=df1_Control, col='Compound', col_wrap= 6).map(plt.hist, column)
plt.xlabel("Data", size=14)
plt.ylabel("Count", size=14)
plt.legend(loc='upper right')
file_name = 'plot_' + column + '.png'
plt.savefig(file_name, dpi=1200)
尽管如此,我不知道是否可以,例如,为此目的使用“fig, ax = plt.subplots()”,或者是否可以使“sns.FacetGrid”工作。
我非常感谢你的好意建议。
解决方案
直接使用
seaborn.FacetGrid
已弃用。在这种情况下,最好使用seaborn.displot
,这是一个图形级别的图。遍历 的列名
df1_sample
,并使用列名来获取df1_Sample[col]
和df1_Control[col]
,这假设两个数据帧具有相同的列名,如 OP 中所示。- 如果列名不同,则使用
for c1, c2 in zip(df1_Sample.columns[:-1], df1_Control.columns[:-1]):
withdf1_Sample[c1]
和,但是需要对两个数据框的列进行排序。df1_Control[c2]
- 如果列名不同,则使用
在
python 3.8.11
,pandas 1.3.2
,matplotlib 3.4.3
,中测试seaborn 0.11.2
对于每对列,要分别绘制每种化合物的直方图,将数据组合成一个长数据框会更容易,然后用
seaborn.displot
.
# assumes both dataframes have same number of columns and the have the same name
for col in df1_Sample.columns[:-1]:
# combine the data from sample and control
compound = df1_Sample['Compound']
sample = df1_Sample[col].tolist()
control = df1_Control[col].tolist()
data = pd.DataFrame({'sample': sample, 'control': control, 'compound': compound})
data = data.melt(id_vars='compound') # convert data to a long form
# plot the data
p = sns.displot(data=data, x='value', hue='variable', col='compound', col_wrap=4, height=3.5)
p.fig.subplots_adjust(top=0.94) # adjust the Figure in p
p.fig.suptitle(col)
file_name = f'plot {col}.png'
p.savefig(file_name, dpi=1200)
- 对评论的回应
ValueError: arrays must all be same length
- 当两个数据帧之间的行数不相同时,这是组合来自两个数据帧的数据的另一种方法。
- 问题变成了仅包含的
'Compound'
列,因此无法将行与from相关联。因此,所有控制数据都将绘制在单独的直方图中。df1_Control
'Ctrl'
'Compound'
df1_Sample
- 因此 ,
'Compound'
列中的数据df1_Control
需要正确标注。
for col in df1_Sample.columns[:1]:
# combine the data from sample and control
sample = df1_Sample[[col, 'Compound']].copy()
sample['variable'] = 'sample'
control = df1_Control[[col, 'Compound']].copy()
control['variable'] = 'control'
data = pd.concat([sample, control]).reset_index(drop=True)
data.columns = ['value', 'compound', 'variable']
display(data)
# plot the data
p = sns.displot(data=data, x='value', hue='variable', col='compound', col_wrap=4, height=3.5)
p.fig.subplots_adjust(top=0.94) # adjust the Figure in p
p.fig.suptitle(col)
file_name = f'plot {col}.png'
p.savefig(file_name)
[out]:
value compound variable
0 189.4800 Ciprofloxacin-Low sample
1 153.7360 Flunisolide-Medium sample
2 199.2190 Famprofazone-Medium sample
3 221.4000 Alprenolol-High sample
4 261.6480 Dyclonine-Low sample
5 304.0890 Flunisolide-Medium sample
6 345.9350 Zaleplon-Medium sample
7 218.9350 Hexetidine-Low sample
8 232.6010 Hexetidine-High sample
9 240.9120 Amprolium-Medium sample
10 208.1250 Pindolol-Low sample
11 260.7130 Zaleplon-High sample
12 161.1120 Famprofazone-Low sample
13 270.1810 Dyclonine-High sample
14 165.8880 Montensin-Medium sample
15 342.0770 Pindolol-Medium sample
16 158.3760 Hexetidine-Medium sample
17 557.0350 Flunisolide-Medium sample
18 319.9130 Dyclonine-Medium sample
19 257.2970 Hexetidine-Low sample
20 205.1850 Ctrl control
21 160.0080 Ctrl control
22 329.2270 Ctrl control
23 264.5210 Ctrl control
24 242.8670 Ctrl control
25 225.5980 Ctrl control
26 53.7438 Ctrl control
27 63.8908 Ctrl control
28 208.2440 Ctrl control
29 195.4800 Ctrl control
30 218.5100 Ctrl control
31 160.2620 Ctrl control
32 190.5680 Ctrl control
33 254.6970 Ctrl control
34 239.3990 Ctrl control
35 59.5907 Ctrl control
36 228.2670 Ctrl control
37 164.5120 Ctrl control
38 125.6910 Ctrl control
39 177.4120 Ctrl control
- 由于未标记控制数据,因此对于每个化合物,请创建一个控制数据框,其中所有数据都使用给定化合物进行标记。这将允许将每种化合物与每列的所有对照数据的分布进行比较。
for col in df1_Sample.columns[:1]: # testing on first column; change to [:-1] for all but the last column
# combine the data from sample and control
sample = df1_Sample[[col, 'Compound']].copy()
sample['variable'] = 'sample'
control = df1_Control[[col]].copy()
control['variable'] = 'control'
compounds = df1_Sample['Compound'].unique()
# for each compound, crate a control dataframe where all the data is tagged with the given compound
control_list = list()
for compound in compounds:
ctrl = control.copy()
ctrl['Compound'] = compound
control_list.append(ctrl)
data = pd.concat([sample] + control_list).reset_index(drop=True)
data.columns = ['value', 'compound', 'variable']
display(data.head()) # display works in a notebook, otherwise use print
display(data.tail()) # remove or comment these display lines out
# plot the data
p = sns.displot(data=data, x='value', hue='variable', col='compound', col_wrap=4, height=3.5)
p.fig.subplots_adjust(top=0.94) # adjust the Figure in p
p.fig.suptitle(col)
file_name = f'plot {col}.png'
p.savefig(file_name)
推荐阅读
- amazon-web-services - 未在预定活动中获得输入
- oracle - 从 LoV oracle apex 选择的问题
- python - 使用自定义列和记录分隔符读取 pyspark 中的文件
- javascript - TweenMax 轮换问题
- snowflake-cloud-data-platform - 雪花:超出可表示范围的数量:类型 FIXED[SB16](38,36){nullable},值 772.401828000000000000000000
- jsp - 在 JSP 文件的 if 语句中使用会话参数
- mysql - 查找仅注释过一次的视频
- github - 运行工作流时,GitHub 操作 sfdx-actions/setup-sfdx 步骤挂起
- c# - 如何使用 AutoMapper 将对象中的对象的信息映射到另一个对象
- python - 如何使用 Telebot 发送 send_invoice 方法?