使用 split() 在 python 数据框中拆分整列中的值

Posted

技术标签:

【中文标题】使用 split() 在 python 数据框中拆分整列中的值【英文标题】:using split() to split values in an entire column in a python dataframe 【发布时间】:2015-02-26 02:45:51 【问题描述】:

我正在尝试清理包含垃圾的 url 列表,如图所示。

    /gradoffice/index.aspx( /gradoffice/index.aspx- /gradoffice/index.aspxjavascript$ /gradoffice/index.aspx~

我有一个 csv 文件,其中包含超过 19 万条不同 url 的记录。我尝试将 csv 加载到 pandas 数据框中,并使用语句将整个 url 列放入列表中

str = df['csuristem']

它清楚地给了我列中的所有值。当我使用以下代码时 - 它只打印 40k 条记录,它从中间的某个位置开始。我不知道哪里出错了。该程序运行完美,但只显示部分结果。任何帮助将不胜感激。

import pandas
table = pandas.read_csv("SS3.csv", dtype=object)
df = pandas.DataFrame(table)
str = df['csuristem']
for s in str:
    s = s.split(".")[0]
    print s

我希望得到这样的输出

    /gradoffice/index. /gradoffice/index. /gradoffice/index. /gradoffice/index.

谢谢, 桑托什。

【问题讨论】:

【参考方案1】:

您需要执行以下操作,因此在列上调用.str.split,然后调用.str[0] 以访问感兴趣的拆分字符串的第一部分:

In [6]:

df['csuristem'].str.split('.').str[0]
Out[6]:
0    /gradoffice/index
1    /gradoffice/index
2    /gradoffice/index
3    /gradoffice/index
Name: csuristem, dtype: object

【讨论】:

以上是关于使用 split() 在 python 数据框中拆分整列中的值的主要内容,如果未能解决你的问题,请参考以下文章

VB通过换行符split字符串

在数据帧上迭代 re.split()

Netty_03_ByteBuf和网络中拆包粘包问题及其解决

Netty_03_ByteBuf和网络中拆包粘包问题及其解决

关于在大网段中拆出小网段地址

从句子中拆出单词