python - python 2.7重命名列表中的值
问题描述
当导入几个 csv 并将其保存在一个数组中时,导入的所有文件的名称都是q=[Dataframe, Dataframe,Dataframe,Dataframe,Dataframe,Dataframe,Dataframe,Dataframe]
,我想使用类似文件的名称来更改名称。
files_array_Q = []
files_array_F = []
files_array_MRG =[]
for files in files_import_Q :
qs_matrix = pd.read_csv(files, delimiter=" ", header=None)
files_array_Q.append(qs_matrix)
for files in files_import_F :
in_fam = pd.read_csv(files, delimiter=" ", header=None)
files_array_F.append(in_fam)
例如读取具有名称的文件file1.Q file2.Q file3.Q files4.Q
数组内 files_array_Q = [files1, file2, files3, file4]
解决方案
您可以使用Pandas 字符串拆分功能。此解决方案假定文件名没有多余的句点。
q_list = pd.DataFrame(['file1.Q', 'file2.Q', 'file3.Q'], columns=['files'])
# split into file, type
q_split = pd.DataFrame(q.files.str.split('.',1).tolist())
# now get only the first column:
q_name_only = q_split[q_split.columns[0]]
您可以使用 Pandas iloc将这两个步骤合并为一行,以按整数位置选择列:
q_name_only = pd.DataFrame(q_list.files.str.split('.',1).tolist()).iloc[:,0]
推荐阅读
- pandas - 熊猫将值从一列复制到另一列,如果一个存在而另一个是 NaN/Null
- javascript - 反应:未捕获的类型错误:无法读取 mapStateToProps 中未定义的属性“名称”
- c# - 如何解决此“未指定身份验证方案,并且未找到 DefaultChallengeScheme”
- python - 无法在带有 Errno 97 的 AWS lambda 上使用 wget.download 下载文件
- mysql - 如何避免在这个 sql 中使用 mysql 函数?
- typescript - 如何避免`后续的属性声明必须具有与接口相同的类型`
- laravel - 使用 Livewire 和 Filepond 编辑模型时处理预先存在的图像
- c++ - 为什么括号中的 AND 与没有的评估不同?
- jquery - jQuery 选择器,只要它没有特定的类,就可以按类及其子元素对元素的点击进行定位
- c++ - 如何通过带有 WinHTTP (C++) 的代理发送带有标头和 json 数据的 HTTP 发布请求