python - 根据字母数字名称循环数据帧,并在每个数据帧中创建一列
问题描述
我有多个名为df1,df2...df100
. 我想创建一个名为 file 的新列,并在每个文件中填充其文件名的值。例如。df1['file'] = 'df1'
为所有数据帧循环它。
解决方案
对可变数量的变量使用字典
显式命名可变数量的变量是不好的做法。您应该改用字典。例如,给定 100 个从文件中读取数据的数据帧:
dfs = {f : pd.read_csv(f) for f in file_paths}
通过此设置,您还可以通过以下方式轻松地将文件名包含在新系列中pd.DataFrame.assign
:
dfs = {f : pd.read_csv(f).assign(file=f) for f in file_paths}
推荐阅读
- node.js - Typescript 错误 1062:“类型在其自己的 'then' 方法的实现回调中被直接或间接引用。”
- python - 如何将多维数组从C传递到嵌入python函数
- raku - 在类似哈希的事物中重复且唯一
- angular - 如何重定向到Angular Universal中的动态外部URL?
- react-native - 世博相机没有显示相机看到的东西
- kotlin - 使用 randomUUID 时的 UUID 冲突
- influxdb - InfluxDB 1.7.2 - 随着时间的推移 Top X
- html - 仅在与主体形状接触时产生粘性效果
- ios - TableView根据单元格宽度水平滚动
- javascript - 在哪里存储访问令牌以供前端使用