将一行中的字符数计为新列

时间:2019-07-10 10:38:04

标签: python pandas

我有一个大约100列的pandas数据框,我想计算一行中每一列的字符数。

在Excel中,我会做类似(Len(Concat(A2:CA2))

的操作
df['newcolumn'] = ? in Pandas Python

3 个答案:

答案 0 :(得分:2)

您可以使用:

df.astype(str).apply(lambda x: x.str.len()).sum(1)

答案 1 :(得分:2)

如有必要,首先将列转换为字符串,sum用于合并,最后使用Series.str.len

df['new'] = df.astype(str).sum(axis=1).str.len()

如果需要按位置选择列:

df['new'] = df.iloc[:, 1:20].astype(str).sum(axis=1).str.len()

如果只需要字符串列,请使用DataFrame.select_dtypes

df['new'] = df.select_dtypes(object).sum(axis=1).str.len()

答案 2 :(得分:0)

[len(“” .join(map(lambda x:str(x),list(df1.loc [index] .values))))))df1.index.tolist()中的索引