【发布时间】:2017-10-19 22:02:14
【问题描述】:
我有这个循环
Source= []
for row in df['Num_Col']:
if row[0:6].isdigit()==True and row[6:8].isalpha()==True:
Source.append('Num')
df['Source'] = Source
我想要实现的是,当我遍历指定的列时,我希望它查看前 6 个位置,如果它们是数字,如果最后两个数字是 alpha,那么我希望它将它附加到我的源列表和然后我想创建一个名为:
df['Source'] = Source
这将满足我的 if 语句的要求。我一直收到这个错误
ValueError: Length of values does not match length of index
如果这个新列中的其余列是 Nan 我没关系,我只希望它使用 if 语句指定的参数创建列。我只是不明白为什么它还没有这样做。
Num_col Country
1 123456HK Georgia
2 273HH123 Georgia
3 123456HK Georgia
4 273HH123 Georgia
5 123456HK Georgia
所以当我运行那个循环时,我希望它返回的是这个
Num_col Country Source
1 123456HK Georgia Num
2 273HH123 Georgia
3 123456HK Georgia Num
4 273HH123 Georgia
5 123456HK Georgia Num
所以基本上只需添加一个名为 source 的列,然后在指定名称为 Num 的列中仅添加与 if 语句匹配的值,该名称是在 if 语句之后指定的。
【问题讨论】:
-
您可以添加您的数据框和预期输出的概述吗?
-
是的,我可以,一秒钟。
-
使用熊猫对吗?
标签: python loops pandas dataframe