我有一个数据框:
df['cats'].apply(cat_replace, args=top)
是
def cat_replace(c, top):
if c in top:
return c
else:
return np.nan
如何将以上内容更改为以下内容:
import pandas as pd
d = {'A-101': ['1','2','4'], 'B-102':
['5','7','8'],'A-102': ['1','2','9']}
df = pd.DataFrame(data=d)
在这里,我希望将列名 A-101 B-102 A-102
0 1 5 1
1 2 7 2
2 4 8 9
分为两列,并将company number '0' '1' '2'
A 101 1 2 4
B 102 5 7 8
A 102 1 2 9
列分成名称为列名A-101
的行
答案 0 :(得分:0)
解决方案
output = pd.DataFrame(columns=['company', 'number', '0', '1', '2'])
output['company'] = [col.split('-')[0] for col in df.columns]
output['number'] = [col.split('-')[1] for col in df.columns]
output['0'] = df.iloc[0].values
output['1'] = df.iloc[1].values
output['2'] = df.iloc[2].values