在python上拆分Regex响应列

2024-10-04 05:31:32 发布

您现在位置:Python中文网/ 问答频道 /正文

在Tweets数据上应用re.findall链接和hashtags之后,我收到了一个对象数组。我的数据看起来像

b=['https://t.co/1u0dkzq2dV', 'https://t.co/3XIZ0SN05Q']
  ['https://t.co/CJZWjaBfJU']
  ['https://t.co/4GMhoXhBQO', 'https://t.co/0V']
  ['https://t.co/Erutsftlnq']
  ['https://t.co/86VvLJEzvG', 'https://t.co/zCYv5WcFDS']

现在我想把它拆分成列,我使用下面的

df = pd.DataFrame(b.str.split(',',1).tolist(),columns = ['flips','row'])

但它不工作,因为奇怪的数据类型,我猜,我尝试了一些其他的解决方案以及。什么都没用。这就是我所期待的,两个独立的专栏

https://t.co/1u0dkzq2dV  https://t.co/3XIZ0SN05Q
https://t.co/CJZWjaBfJU
https://t.co/4GMhoXhBQO  https://t.co/0V
https://t.co/Erutsftlnq
https://t.co/86VvLJEzvG            

Tags: 数据对象httpsredf链接数组tweets
1条回答
网友
1楼 · 发布于 2024-10-04 05:31:32

你的问题不清楚你的数据到底是什么(包括方括号和单引号吗?)。在任何情况下,pandas^{}函数都是非常多样化的,可以处理不规则的数据:

import StringIO
import pandas as pd

raw_data = """
['https://t.co/1u0dkzq2dV', 'https://t.co/3XIZ0SN05Q']
['https://t.co/CJZWjaBfJU']
['https://t.co/4GMhoXhBQO', 'https://t.co/0V']
['https://t.co/Erutsftlnq']
['https://t.co/86VvLJEzvG', 'https://t.co/zCYv5WcFDS']
"""

# You'll probably replace the StringIO part with the filename of your data.
df = pd.read_csv(StringIO.StringIO(raw_data), header=None, names=('flips','row'))

# Get rid of the square brackets and single quotes
for col in ('flips', 'row'):
  df[col] = df[col].str.strip("[]'")

df

输出:

                     flips                        row
0  https://t.co/1u0dkzq2dV    https://t.co/3XIZ0SN05Q
1  https://t.co/CJZWjaBfJU                        NaN
2  https://t.co/4GMhoXhBQO            https://t.co/0V
3  https://t.co/Erutsftlnq                        NaN
4  https://t.co/86VvLJEzvG    https://t.co/zCYv5WcFDS

相关问题 更多 >