在Pandas中给出了这个示例数据框
df2 = pd.DataFrame({'a' : ['one', 'two', 'three', 'four', 'five', 'six', 'seven'],
'b' : ['x', 'y', 'y', 'x', 'y', 'x', 'x'],
'c' : ['abc', 'def', 'ghi', 'jkl', 'mno', 'pqr', 'stu']})
看起来像
a b c
0 one x abc
1 two y def
2 three y ghi
3 four x jkl
4 five y mno
5 six x pqr
6 seven x stu
我想通过连接例如新建一个新的第2行和第2行3得到类似
的东西 two_three y_y def_ghi
0 one x abc
1 two y def
2 three y ghi
3 four x jkl
4 five y mno
5 six x pqr
6 seven x stu
是否有类似矢量的实现?
非常感谢,Sascha
答案 0 :(得分:2)
您可以沿着轴将str.join
应用到数据帧切片,从而获得所需的结果。参见例如
>>> df.iloc[[1,2]].apply('_'.join, axis=0)
two_three two_three
y_y y_y
def_ghi def_ghi
dtype: object
如果您想以这种方式命名列,请执行
>>> df.columns = df.iloc[[1,2]].apply('_'.join, axis=0)
>>> df
two_three y_y def_ghi
0 one x abc
1 two y def
2 three y ghi
3 four x jkl
4 five y mno
5 six x pqr
6 seven x stu
[7 rows x 3 columns]