【发布时间】:2022-11-17 22:14:38
【问题描述】:
我有一个 df 看起来像这样
500 600 700 800
0 Tr Fls Fls Fls
1 Tr Tr Tr Fls
2 ...
我想把它变成这个
Value
0 500
1 500
1 600
1 700
2 ....
我该怎么做呢?
【问题讨论】:
标签: pandas
我有一个 df 看起来像这样
500 600 700 800
0 Tr Fls Fls Fls
1 Tr Tr Tr Fls
2 ...
我想把它变成这个
Value
0 500
1 500
1 600
1 700
2 ....
我该怎么做呢?
【问题讨论】:
标签: pandas
例子
data = {'500': {0: 'Tr', 1: 'Tr'},
'600': {0: 'Fls', 1: 'Tr'},
'700': {0: 'Fls', 1: 'Tr'},
'800': {0: 'Fls', 1: 'Fls'}}
df = pd.DataFrame(data)
输出(df):
500 600 700 800
0 Tr Fls Fls Fls
1 Tr Tr Tr Fls
代码
当df 值为 'Tr' 时:
df[df=='Tr'].stack().reset_index(level=1)['level_1'].to_frame('Value')
结果:
Value
0 500
1 500
1 600
1 700
【讨论】: