Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
合并Dataframe(熊猫)中的所有列-python3_Python_Pandas - Fatal编程技术网

合并Dataframe(熊猫)中的所有列-python3

合并Dataframe(熊猫)中的所有列-python3,python,pandas,Python,Pandas,我正在尝试将所有列中的所有数据合并到一列中。像这样: A B C X 1 2 3 123 3 2 1 --> 321 5 6 7 567 请记住,我们不知道列和行的数量 我试着这样解决它,但没用 db.assign(sum = db.apply(''.join, axis = 1)).drop([db.index], axis = 1) 提前感谢这行吗 df.astype(str

我正在尝试将所有列中的所有数据合并到一列中。像这样:

A B C                X
1 2 3               123
3 2 1      -->      321 
5 6 7               567
请记住,我们不知道列和行的数量

我试着这样解决它,但没用

db.assign(sum = db.apply(''.join, axis = 1)).drop([db.index], axis = 1)
提前感谢

这行吗

df.astype(str).sum(axis=1).astype(int)
鉴于:

df = pd.DataFrame({'A':[1,3,5],'B':[2,2,6],'C':[3,1,7]})
结果:

   A  B  C    X
0  1  2  3  123
1  3  2  1  321
2  5  6  7  567
这行吗

df.astype(str).sum(axis=1).astype(int)
鉴于:

df = pd.DataFrame({'A':[1,3,5],'B':[2,2,6],'C':[3,1,7]})
结果:

   A  B  C    X
0  1  2  3  123
1  3  2  1  321
2  5  6  7  567
我们可以先使用df.mul,然后使用df.sum

Timeit分析:

基准设置:

vals = np.random.randint(2, 10, (100_000, 6))
df = pd.DataFrame(vals)
我们可以先使用df.mul,然后使用df.sum

Timeit分析:

基准设置:

vals = np.random.randint(2, 10, (100_000, 6))
df = pd.DataFrame(vals)

很酷的一个已经升级,但是字符串连接速度很慢,这会为每个连接构建一个新的字符串。对大型企业来说可能效率不高dfs@Chester我同意!还有更有效的方法。df.astypestr.agg.join,axis=1可能更快,sum执行两两连接,因为字符串是不可变的。很酷的一种方法已经被提升,但字符串连接速度较慢,这会为每个连接生成一个新字符串。对大型企业来说可能效率不高dfs@Chester我同意!还有更有效的方法。df.astypestr.agg.join,axis=1可能更快,sum执行成对连接,因为字符串是不可变的。在这里使用算术非常优雅,做得好!这是一个经过深思熟虑的把戏!在这里使用算术是非常优雅的,很好的工作!这是一个经过深思熟虑的把戏!