我想知道如何根据 python 数据框中的列名行创建新行,并将其附加到同一数据框中。
示例
df = pd.DataFrame(np.random.randn(10, 5),columns=['abx', 'bbx', 'cbx', 'acx', 'bcx'])
我想根据给出的列名称创建一个新行:
b |乙|乙| c | c |
通过获取列名的中间字符。
这个想法是稍后使用该新行对列进行多重索引。
最佳答案
我假设这就是您想要的,因为您没有回复,我们可以通过压缩 df 列和中间字符的列表理解来创建一个字典来附加
一个新行(假设列名长度为 3):
In [126]:
df.append(dict(zip(df.columns, [col[1] for col in df])), ignore_index=True)
Out[126]:
abx bbx cbx acx bcx
0 -0.373421 -0.1005462 -0.8280985 -0.1593167 1.335307
1 1.324328 -0.6189612 -0.743703 0.9419248 1.282682
2 0.3730312 -0.06697892 1.113707 -0.9691056 1.779643
3 -0.6644958 1.379606 -0.3751724 -1.135034 0.3287292
4 0.4406139 -0.5767996 -0.2267589 -1.384412 -0.03038372
5 -1.242734 -0.838923 -0.6724592 1.405247 -0.3716862
6 -1.682637 -1.69309 -1.291833 1.781704 0.6321988
7 -0.5793783 -0.6809975 1.03502 -0.6498381 -1.124236
8 1.589016 1.272961 -1.968225 0.5515182 0.3058628
9 -2.275342 2.892237 2.076253 -0.1422845 -0.09776171
10 b b b c c
关于Python:根据DataFrame中的列名创建新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30088432/