我有一个名为pandas的DataFrame
A。我正在努力将其转换为我想要的格式,即DataFrame
B。我尝试过使用pivot
或melt
,但我不确定如何使其有条件(将string
值转换为FIELD_STR_VALUE
,将numeric
值转换为FIELD_NUM_VALUE
)。我希望您能指导我正确的方向。
A:输入DataFrame
|FIELD_A |FIELD_B |FIELD_C |FIELD_D |
|--------|--------|--------|--------|
|123123 |8 |a |23423 |
|123124 |7 |c |6464 |
|123144 |99 |x |234 |
B:期望的输出 DataFrame
|ID |FIELD_A |FIELD_NAME |FIELD_STR_VALUE |FIELD_NUM_VALUE |
|---|--------|-----------|----------------|----------------|
|1 |123123 |B | |8 |
|2 |123123 |C |a | |
|3 |123123 |D | |23423 |
|4 |123124 |B | |7 |
|5 |123124 |C |c | |
|6 |123124 |D | |6464 |
|7 |123144 |B | |99 |
|8 |123144 |C |x | |
|9 |123144 |D | |234 |
pipe
函数... - konichiwa[ d.columns, [ "numeric" if is_numeric_dtype(x) else "string" for x in d.dtypes ], ]
再次感谢! - konichiwa