工作时遇到的问题,主要问题,将不同列名进行合并的方法,下面举例:
## 创建新的数据框,里面有空格
import pandas as pd
import numpy as np
m = n = 3
mat = pd.DataFrame(np.array(['[W]'] * ((n * 2 + 1)*(n * 2 + 1))).reshape(n * 2 + 1,m * 2 + 1),columns=['a','b','c','a1','b1','c1','d'])
mat.ix[1,1] = mat.ix[3,1:2] = mat.ix[1:3,1:2] = ' '
# mat数据框结果
a b c a1 b1 c1 d
0 [W] [W] [W] [W] [W] [W] [W]
1 [W] [W] [W] [W] [W] [W]
2 [W] [W] [W]
3 [W] [W]
4 [W] [W] [W]
5 [W] [W] [W]
6 [W] [W] [W] [W] [W] [W] [W]
## 将所有变量合并为新的变量名:all
mat['all'] = ''
for i in range(len(mat)):
mat['all'] = mat['all'] + " " + mat.ix[:,i]
# mat数据框
a b c a1 b1 c1 d all
0 [W] [W] [W] [W] [W] [W] [W] [W] [W] [W] [W] [W] [W] [W]
1 [W] [W] [W] [W] [W] [W] [W] [W] [W] [W] [W] [W]
2 [W] [W] [W] [W] [W] [W]
3 [W] [W] [W] [W]
4 [W] [W] [W] [W] [W] [W]
5 [W] [W] [W] [W] [W] [W]
6 [W] [W] [W] [W] [W] [W] [W] [W] [W] [W] [W] [W] [W] [W]
## 字符串去除空格
mat['new_all'] = mat['all'].apply(lambda x:x.split())
## mat[new_all]数据框
new_all
0 [[W], [W], [W], [W], [W], [W], [W]]
1 [[W], [W], [W], [W], [W], [W]]
2 [[W], [W], [W]]
3 [[W], [W]]
4 [[W], [W], [W]]
5 [[W], [W], [W]]
6 [[W], [W], [W], [W], [W], [W], [W]]