如何将pandas列的名称添加到行内的每个值?例如,假设我具有以下pandas数据框:
COL1 COL2 COL3 COL4 ... COL_N
True NO 90.9 2 ... 2018-05-17 20:14:00
True NO 89.11 2 ... 2018-05-17 20:15:32
............
True NO 67.89 1 ... 2018-05-17 20:18:45
如何将其转换为:
COL1 COL2 COL3 COL4 ... COL_N
True (COL1) NO (COL2) 90.9 (COL3) 2 (COL4) ... 2018-05-17 20:14:00 (COL_N)
True (COL1) NO (COL2) 89.11 (COL3) 2 (COL4) ... 2018-05-17 20:15:32 (COL_N)
............
True (COL1) NO (COL2) 67.89 (COL3) 1 (COL4) ... 2018-05-17 20:18:45 (COL_N)
我想这样做是因为我正在分析每行内部的某些模式。问题之一是我正在处理大熊猫数据框(500x100000)列。对给定的熊猫数据框如何将其列名称附加到每个值有任何想法吗?
答案 0 :(得分:3)
使用:
df.astype(str).apply(lambda x : x+' '+x.name)
Out[7]:
COL1 COL2 COL3 COL4
0 True COL1 NO COL2 90.9 COL3 2 COL4
1 True COL1 NO COL2 89.11 COL3 2 COL4
答案 1 :(得分:1)
另一种方法是循环列并使用loc。
for col in df.columns:
df.loc[:,col] = df[col].astype(str) + ' ({})'.format(col)