Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.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
Python 连接熊猫中每行的列_Python_R_Pandas - Fatal编程技术网

Python 连接熊猫中每行的列

Python 连接熊猫中每行的列,python,r,pandas,Python,R,Pandas,简单来说: df = data.frame(a = letters[1:5], b = letters[6:10], c = letters[11:15],stringsAsFactors = F) df$tot = apply(df,MARGIN = 1,function(x){paste(x,collapse = "")}) 在Python中,我尝试了: df.apply(lambda row: ''.join(str(row)), axis=1) 这导致了一个疯狂的结果,也给字符串添加

简单来说:

df = data.frame(a = letters[1:5], b = letters[6:10], c = letters[11:15],stringsAsFactors = F)
df$tot = apply(df,MARGIN = 1,function(x){paste(x,collapse = "")})
在Python中,我尝试了:

df.apply(lambda row: ''.join(str(row)), axis=1)
这导致了一个疯狂的结果,也给字符串添加了列标题

我必须从R迁移到Python,我发现做像这个操作这样简单的事情是非常不直观的。有人能解释一下为什么会包含colnames吗?

当你这样做的时候

df.apply(lambda row: ''.join(str(row)), axis=1)
row是一个系列,str(row)是这个系列的字符串表示形式(打印(row)时可以看到)

如果我正确理解了您想要做的事情,那么您需要获取序列中的值列表并将它们连接起来。可以写为:

df.apply(lambda row: "".join(row.values), axis=1)
当你这样做的时候

df.apply(lambda row: ''.join(str(row)), axis=1)
row是一个系列,str(row)是这个系列的字符串表示形式(打印(row)时可以看到)

如果我正确理解了您想要做的事情,那么您需要获取序列中的值列表并将它们连接起来。可以写为:

df.apply(lambda row: "".join(row.values), axis=1)
str(row)将行转换为字符串,例如:

str([1, 2, 3]) => '[1, 2, 3]'
str(['a','b']) => '["a", "b"]'
和“”。join(x),其中x是一个字符串,返回相同的字符串。因此,lambda将一行转换为字符串

但似乎您想要的是:在连接行中的每个元素之前,将它们转换为字符串:

lambda row: ''.join(str(x) for x in row)
str(row)将行转换为字符串,例如:

str([1, 2, 3]) => '[1, 2, 3]'
str(['a','b']) => '["a", "b"]'
和“”。join(x),其中x是一个字符串,返回相同的字符串。因此,lambda将一行转换为字符串

但似乎您想要的是:在连接行中的每个元素之前,将它们转换为字符串:

lambda row: ''.join(str(x) for x in row)

如何工作
df.astype(str).apply('''.join,axis=1)
?也许可以解释输入和预期输出是什么,所以我们不必学习R来回答这个Python问题;-)还有如何工作
df.astype(str).values.sum(axis=1)
?如何工作
df.astype(str).apply(''.join,axis=1)
?也许可以解释输入和预期输出是什么,所以我们不必学习R来回答这个Python问题;-)还有,df.astype(str.values.sum(axis=1)是如何工作的呢?谢谢,它工作得很好!不知何故,我认为python将以与R相同的方式向量化
str()
。谢谢,它可以工作!不知何故,我认为python将以与R相同的方式向量化
str()。