我实际上被困住了,想要搜索数据帧以查找所有包含指向不同数据帧的 url 链接的单元格,即
输入:
A B C
0 1 2 https://123
1 https://432 333 qq
2 https://567 rt q4
输出:
R
0 https://123
1 https://432
2 https://567
我正在尝试一种方法来搜索包含字符串"http"的所有列,但它不起作用
尝试:
output_df = pd.dataframe(columns=['R'])
for col in df.columns.tolist():
output_df = pd.concat([ouput_df, df.loc[df[col].str.contains('https'), col].rename({col: 'R'}, axis=1)])
您可以stack()
数据帧并使用方法contains()
搜索包含 url 的单元格:
df = df.stack()
df[df.str.contains('http')].to_frame('R').reset_index(drop=True)
输出:
R
0 https://123
1 https://432
2 https://567
您可以用逗号连接每一行并使用正则表达式在每行中查找URL,即使有多个URL,这也有效。如果没有 url,它将为该行设置空列表
df.apply(lambda row: ",".join(row), axis=1).str.findall("http[s]?://[^,]*")