numpy Append不会向数组中添加Arraylike

cx6n0qe3  于 2023-01-05  发布在  其他
关注(0)|答案(2)|浏览(130)

我目前正在做一个项目,需要使用CSV文件来显示信息。该部分已解决,但不允许我使用已知数组对其进行追加

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)
    np.append(x,g)
print(x)
plt.bar(np.arange(len(x))+1,x)
plt.show()

append函数不起作用,其余的都很好用
基本上我都知道了,但是Append函数是一个整型函数,没有它我不知道如何构建代码

92dk7w1h

92dk7w1h1#

np.append返回数组的副本,但不修改数组本身,所以np.append(x,g)做了你想做的,但你从来没有保存这个操作的结果。
您要做的是x = np.append(x, g)。这样,np.append的结果将存储在x中。

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)
    x = np.append(x,g)
print(x)
plt.bar(np.arange(len(x))+1,x)
plt.show()
a5g8bdjr

a5g8bdjr2#

不要试图用数组来模仿列表方法。np.append不是一个列表追加克隆!即使它工作起来也很慢。

x = []
for i in csv_files:
    print(i)
    df = pd.read_csv(os.path.join(path, i))
    x.append(len(df))

或者干脆

x = [len(pd.read_csv(os.path.join(path,i)) for i in csv_files]

相关问题