You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

处理CSV文件时numpy.append无法添加类数组元素至数组的问题

解决numpy.append无法添加元素的问题

你的代码中np.append(x,g)没有生效的核心原因是:numpy.append 不会原地修改原数组,它会返回一个包含新增元素的新数组。如果不将返回值重新赋值给原变量x,原数组不会有任何变化。

修改后的代码(修复numpy.append的问题)

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
import os
import glob

path = "/Users/kagemanden/Downloads/CSV Datapunkter"
csv_files = glob.glob(path + "/*.csv")
x = np.array([])

for i in csv_files:
    print(i)
    df = pd.read_csv(os.path.join(path, i))
    g = np.array([len(df)])
    print(g)
    # 关键:将append的返回值重新赋值给x
    x = np.append(x, g)
print(x)
plt.bar(np.arange(len(x))+1, x)
plt.show()

更高效的替代写法

numpy数组每次调用append都会重新分配内存并复制整个数组,循环中频繁使用会降低效率。更推荐先用Python列表收集数据,最后再转换为numpy数组:

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
import os
import glob

path = "/Users/kagemanden/Downloads/CSV Datapunkter"
csv_files = glob.glob(path + "/*.csv")
x_list = []

for i in csv_files:
    print(i)
    df = pd.read_csv(os.path.join(path, i))
    row_count = len(df)
    print(row_count)
    x_list.append(row_count)

# 最后转换为numpy数组
x = np.array(x_list)
print(x)
plt.bar(np.arange(len(x))+1, x)
plt.show()

内容的提问来源于stack exchange,提问作者Simon Karlsen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 18:15:36