我实际上很困惑,想搜索一个数据框以找到所有包含指向另一个数据框的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”但不起作用的所有列的方法
答案 0 :(得分:0)
尝试:
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)])
答案 1 :(得分:0)
您可以stack()
使用数据框,并使用方法contains()
搜索带有网址的单元格:
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
答案 2 :(得分:0)
您可以使用逗号将每一行连接起来,并使用正则表达式在每一行中查找网址,即使有多个网址也可以使用。如果没有网址,它将为该行设置一个空列表
df.apply(lambda row: ",".join(row), axis=1).str.findall("http[s]?://[^,]*")