从datafram读取并拆分列值

2024-10-02 12:34:23 发布

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

我有一个数据集,第二列是这样的。你知道吗

FileName
892e7c8382943342a29a6ae5a55f2272532d8e04.exe.asm
2d42c1b2c33a440d165683eeeec341ebf61218a1.exe.asm
1fbab6b4566a2465a8668bbfed21c0bfaa2c2eed.exe.asm

现在,我想提取前面的名称”。exe.asm文件,并将其附加到数据集中所有行的新列表中。我尝试了以下代码:

import pandas as pd
df = pd.read_csv("dataset1.csv")
exekey = []

for row in df.iterrows():
    exekey.append(row[1].split('.'))
exekey

此执行给了我以下错误:

AttributeError: 'Series' object has no attribute 'split'

我做不到。请帮忙

更改时,输出的形式为Output image


Tags: 文件csv数据代码import名称df列表
2条回答

您可以像这样使用map.上拆分并获取索引0

df['FileName'].map(lambda f : f.split('.')[0])

# Output

0    892e7c8382943342a29a6ae5a55f2272532d8e04
1    2d42c1b2c33a440d165683eeeec341ebf61218a1
2    1fbab6b4566a2465a8668bbfed21c0bfaa2c2eed
Name: FileName, dtype: object

如果你想得到一个名单你可以做

df['FileName'].map(lambda f : f.split('.')[0]).values.tolist()

# Output : ['892e7c8382943342a29a6ae5a55f2272532d8e04',
            '2d42c1b2c33a440d165683eeeec341ebf61218a1',
            '1fbab6b4566a2465a8668bbfed21c0bfaa2c2eed']

使用.拆分filename,并使用索引访问第一个元素。你知道吗

import pandas as pd 

df = pd.DataFrame({'FileName':['892e7c8382943342a29a6ae5a55f2272532d8e04.exe.asm',
'2d42c1b2c33a440d165683eeeec341ebf61218a1.exe.asm',
'1fbab6b4566a2465a8668bbfed21c0bfaa2c2eed.exe.asm']})


exekey = [i.split(".")[0] for i in df['FileName']]
print(exekey)

备用方式

exekey2 = df['FileName'].apply(lambda x: x.split(".")[0]).tolist()

输出:

['892e7c8382943342a29a6ae5a55f2272532d8e04', '2d42c1b2c33a440d165683eeeec341ebf61218a1', '1fbab6b4566a2465a8668bbfed21c0bfaa2c2eed']

相关问题 更多 >

    热门问题