【发布时间】:2017-02-11 11:50:35
【问题描述】:
在 Python 3 Pandas 中处理需要创建新列的数据框。我有两个具有不同长度字符串的相似列。新列应返回长度为 13 个字符的第 1 列或第 2 列。在excel中我会写成:c2=if(len(b2)=13,b2,a2)然后把公式复制下来。
我需要解释的代码是:
df = pd.read_csv("example15.csv")
#create a new column with if-then statment
df['13_digit_#'] = (df.column1 len = 13 or df.column2 len = 13)
我将如何重写最后一行? 非常感谢!
【问题讨论】:
-
数据框的所有列都应该返回相同的 len(col) 参数。也就是说,不可能拥有具有不同长度列的数据框。您的意思是某些列缺少观察结果而其他列没有吗?例如df[col1] = [a,b,c,d, N/A], df[col2] = [a,b,c,d, e]?
-
measure_theory - 我的意思是这些列中的每一列的结果要么是空白,要么是一个或两个数字,要么是 13。通过只给出新列来“清理数据”结果长度为 13 个字符。
标签: pandas if-statement conditional-statements python-3.5 calculated-columns