【问题标题】:format and type with pandas and numpy使用 pandas 和 numpy 格式化和输入
【发布时间】:2017-05-11 21:46:04
【问题描述】:

我使用 pandas 读取 csv,我收集了 2 个数据数组,它们是 str 的元组数组:

count = pandas.read_csv('data.csv', sep=",", delimiter=";", usecols = ["time", "value"])
time = np.array(count["time"])
value = np.array(count["value"])
count = [(time[i], value[i]) for i in range(len(time))]

但是,当我启动程序时,我有这个错误:

TypeError: Mismatch between array dtype ('<U10') and format specifier ('%.18e %.18e')

我尝试更改格式,但没有成功。我想我不明白格式('U10')。你有什么想法吗?

我在 Python 3.4 中

【问题讨论】:

  • 请从您的csv中发布一两行示例,否则其他人很难调试。另外,请确保您已经发布了整个代码(请参阅如何创建 minimal reproducible example)。
  • 哪一行实际上导致了这个错误?
  • 另外,U10 表示一个 10 字节的 unicode 字符串,这可以说更难找到有意义的答案。

标签: python-3.x pandas numpy


【解决方案1】:

IMO 将 Pandas.Series 转换为 Numpy 数组的最简单方法是使用 .values 属性:

time = count["time"].values
value = count["value"].values

您可能还想使用以下函数之一预先转换 dtype:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 2021-01-05
    • 2018-05-02
    • 2014-01-31
    • 1970-01-01
    相关资源
    最近更新 更多