这个问题是关于here的特定案例的一般版本。在
我有一个pandas数据帧,其中的列包含整数。我想将所有这些整数连接到一列中的一个字符串中。在
给定this answer,对于特定的列,这是有效的:
(dl['ungrd_dum'].map(str) +
dl['mba_dum'].map(str) +
dl['jd_dum'].map(str) +
dl['ma_phd_dum'].map(str))
但是假设我有许多(数百)这样的列,它们的名称在一个列表dummies
中。我肯定有一些很酷的Python式的方法,用一条神奇的线就能做到这一切。我尝试过将map
与dummies
一起使用,但是还没有找到答案。在
你应该能做到的
示例:
^{pr2}$编辑
正如@JohnE指出的那样,您可以调用
sum
,这样会更快:但是,这将隐式地将数据类型转换为
float64
,因此您必须再次转换回str
,并在必要时切掉小数点:您需要做的第一件事是尽可能高效地将数字的数据帧转换为字符串的数据帧:
然后,您处于相同的情况as this other question,并且可以使用与this answer中相同的
Series.str
访问器技术:.str.cat()
使用^{} 可以执行以下操作:
dl['result']=dl[dl.列[0]]。结构猫([dl[c]代表c indl.列[1:]],sep='')
str.join()
要使用
^{pr2}$.str.join()
,您需要一系列iterable,比如元组。在不要用
list
代替tuple
,否则apply()
方法将返回Dataframe
,并且数据帧没有.str
访问器,就像Series
。在例如:
^{pr2}$相关问题 更多 >
编程相关推荐