我正在处理webscrape脚本。生成的熊猫数据框很棒,但是我需要添加一个unique_id列,其值包含在HTML中的href URL值。
test = pd.DataFrame({'Col1': [12, 57], 'Col2': [':402:agshhhjd,:45:hghghgruru,:12:fghghgh,:22:hhhh', ':42:agshhhjd,:57:hghghgruru,:120:fghghgh,:12:hhhhhh']})
test
Col1 Col2
0 12 :402:agshhhjd,:45:hghghgruru,:12:fghghgh,:22:hhhh
1 57 :42:agshhhjd,:57:hghghgruru,:120:fghghgh,:12:h...
def my_val(col1num, col2text):
# Split columns by ':'
col2_ls = col2text.split(':')[1:]
# Create an empty dict to store key-value pairs
my_dict = {}
# Create your key-value pairs and update dict
for i, j in zip(range(0, len(col2_ls), 2), range(1, len(col2_ls)+1, 2)):
my_dict[col2_ls[i]] = col2_ls[j]
# If the key exists return the value
if str(col1num) in my_dict.keys():
val = my_dict[str(col1num)]
return val
else:
return 'Unavailable'
test['Col3'] = test.apply(lambda x: my_val(col1num=x['Col1'], col2text=x['Col2']), axis=1)
test
Col1 Col2 Col3
0 12 :402:agshhhjd,:45:hghghgruru,:12:fghghgh,:22:hhhh fghghgh,
1 57 :42:agshhhjd,:57:hghghgruru,:120:fghghgh,:12:h... hghghgruru,
当前Pandas数据框中有一个包含“ ADDRESS CLIENT”的列,但是我如何添加一个包含href URL的单独列?
我目前可以使用以下命令获取用逗号分隔的unique_id值列表:
<td><a href="/admin/tasks/edit/82689"> ADDRESS </a> CLIENT </td>
任何方向将不胜感激!
答案 0 :(得分:0)
正确的方法是使用pandas.DataFrame.assign方法
df.assign(url=unique_id)
这将在DataFrame中为您提供一个名为url的新列,并为numpy数组中的值赋值。据我所知,df['url] = unique_id
之类的列分配已被弃用。您可以阅读更多
here。