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'
我做不到。请帮忙
在更改时,输出的形式为输出图像
解决方案
使用索引拆分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']
推荐阅读
- javascript - React Native Firebase 拉取和推送数据问题
- microsoft-graph-api - 我可以使用 Microsoft Bot Framework 实现 Maker/Checker 机器人吗?
- google-chrome - Google Chrome 版本 91 导致带有 Struts 的旧版 JSP 丢失数据和格式
- r - 对矩阵列名进行排序以匹配列表中的元素顺序
- excel - 如何通过工作表名称在 Perl 中读取 Excel 文件
- javascript - 数据表不显示数据(Laravel 8.4.x)
- java - 如何在水平滚动条中查看 ArrayList?
- mule - 骡流终止
- c++ - 为什么我可以使用运行时加载的 dll 未导出的函数
- java - 带有泛型的 InjectMocks 引发 NullPointerException