我刚刚遇到了这个问题,我如何通过一列连接另一列,这是我的{
>>> df = pd.DataFrame({'a': ['a', 'b', 'c', 'd'], 'b': ['hello', 'good', 'great', 'nice']})
a b
0 a hello
1 b good
2 c great
3 d nice
我希望a
列连接b
列中的值,因此我希望的输出是:
a b
0 a haealalao
1 b gbobobd
2 c gcrcecact
3 d ndidcde
我该怎么做呢
希望您能看到与此相关的内容,下面是一个示例,您可以在python中执行第一行操作:
>>> 'a'.join('hello')
'haealalao'
>>>
就像在期望的输出中一样
我认为了解两个专栏如何相互作用可能很有用join
可能不是最好的例子,但您还可以执行其他功能。如果在其他列上使用split
来split
,或者用其他内容替换其他列中的字符,那么它可能会很有用
p.S.下面我有一个自我回答。
下面是另一个使用
zip
和list comprehension
的解决方案。应优于df.apply
:我尝试使用
df.apply
实现输出为性能比较计时
请注意,我在每行之前重新初始化df,以便所有函数处理相同的数据帧。也可以将df作为参数传递给函数
TL;博士
下面的代码是我从这个问题中得出的最快答案:
上面的代码首先生成
a
列,然后每次都可以使用next
获取下一个值,然后在列表中连接两个字符串长答覆:
将展示我的解决方案:
解决方案1:
要使用
list
理解和生成器:解决方案2:
按索引分组,并
apply
和str.join
两列的值:解决方案3:
使用
list
理解,在列和str.join
之间迭代:这些代码全部输出:
定时:
现在是使用
timeit
模块进行计时的时候了,下面是我们用来计时的代码:输出:
因此,第一种解决方案是最快的,使用生成器
相关问题 更多 >
编程相关推荐