python - 如何从 python 中的多个数据帧创建单个数据帧?
问题描述
我想从多个文件制作一个数据框,但它不能按我想要的方式工作。我想垂直合并,但他们正在水平合并创建新列。我不想要那个我怎么能解决这个问题?这是我的代码:
path = "C:/Users/nb/Desktop/NetworkCharacteristic/"
fi=glob.glob(path+"*")
li=[]
for file in fi:
files = glob.glob(file + "/*.txt")
for filename in files:
frame = pd.read_csv(filename, sep='#')
li.append(frame)
df = pd.concat(li, axis=1)
我从文件夹内的许多文件夹中读取文件。我得到了这个结果:“5行×4440列”
解决方案
您可以替换这行代码:
df = pd.concat(li, axis=1)
经过 :
df = pd.concat(li, axis=0, ignore_index=True)
但是,如果您想要一种最严格的方式来做到这一点,我建议:
import glob
import pandas as pd
files = glob.glob("C:/Users/nb/Desktop/NetworkCharacteristic/*/*.txt")
dfs = [pd.read_csv(f, header=None, sep="#") for f in files]
df = pd.concat(dfs, ignore_index=True)
推荐阅读
- html - Angular:无法使用 ng-style 指令设置背景封面
- python - 在一条消息中列出角色成员 - discord.py 重写
- opengl - 如何在 GLSL 中复制一个正方形来制作图案?
- flutter - 如何避免基于 chart_flutter DateTime 的系列列表的运行时类型异常?
- google-apps-script - 如何让非授权用户保护电子表格
- node.js - 无法使用 Lambda 函数将数据插入 AWS DynamoDB 表
- python - 使用 url 作为参数时,opencv videocapture 如何工作?
- android - RecyclerView 宽度中的 TextView 溢出
- php - 如何只输入一个单词就可以访问链接?
- c - 如何使用 DisplayStringAtLine 函数在 STM32 上正确显示 uint32 变量