我有一个dataframe,其中一列为
number |
---|
CN102A FB |
AS9120 DS; 8T12A FA |
…… |
CN102A FB; AT12A FB |
我想得到这列每行的如下信息:
最后将信息组成新的dataframe,拼在原来的后面:
"; "分割 | 开头为CN或者AT | 含有FB |
---|---|---|
1 | 1 | 1 |
2 | 0 | 0 |
…… | …… | …… |
2 | 2 | 2 |
我现在只能写出前两个,且不会拼接为新的dataframe。求解!
for row in range(len(df)):
temp_list = df.loc[row, "number"].split("; ")
temp_list2 = temp_list .value_counts(list(map(lambda x: x[:2], temp_list)))
为什么最后还要拼接为新的dataframe?直接用下标运算符设置值不就行了吗:
df['"; "分割'] = df['number'].str.count('; ') + 1
df['开头为CN或者AT'] = df['number'].str.count('^(CN|AT)')
df['含有FB'] = df['number'].str.count('FB')