Python 从数据帧读取并拆分列值

Python 从数据帧读取并拆分列值,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个数据集,其中第二列如下所示 FileName 892e7c8382943342a29a6ae5a55f2272532d8e04.exe.asm 2d42c1b2c33a440d165683eeeec341ebf61218a1.exe.asm 1fbab6b4566a2465a8668bbfed21c0bfaa2c2eed.exe.asm 现在,我想从列中提取“.exe.asm”之前的名称,并将其附加到数据集中所有行的新列表中。我尝试了以下代码: import pandas as pd

我有一个数据集,其中第二列如下所示

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'
我做不到。请帮忙


更改时,输出的格式为

使用
拆分
文件名
,并使用索引访问第一个元素

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']

您可以像这样使用
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']

请将
按原样添加到您的问题中
预期的
好吗?@AkshayNevrekar仍然没有得到预期的输出。文件名[e62c764a18642df4fc82886aa0b0e14cb54d6f1b,exe…1 NaN 2 NaN 3 NaN 4 NaN 5南6NaN@AkshayNevrekar我已经完成了要求的更改。