[英]Pandas - fill value in new column based on which column is not empty
我有一个像这样的 dataframe:
一个 | b | c | d | |
---|---|---|---|---|
1 | 0.325 | |||
2 | 0.23378 | |||
3 | 2.3242 | |||
4 | 0.42 | |||
5 | 6.293 |
四列代表不同的水深,数值是温度测量值。 a、b、c、d四列中只有一个非NA值。 我想将这些值聚合成一个列value
(或水温)和值的“位置”,即新column
(或水深)列中的关联列名。
预期的 output 格式:
价值 | 柱子 | |
---|---|---|
1 | 0.325 | b |
2 | 0.23378 | c |
3 | 2.3242 | b |
4 | 0.42 | 一个 |
5 | 6.293 | 一个 |
使用DataFrame.stack
和DataFrame.rename_axis
:
df = df.stack().rename_axis(['value','column']).reset_index()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.