当前位置: 首页 > 知识库问答 >
问题:

从。txt文件创建带有熊猫的数据文件

徐凌
2023-03-14

我在用Pandas将。txt文件转换为浮动值的数据目录时遇到了麻烦。我需要创建两列数据的散点图,但我一直得到错误“TypeError:Empty'DataFrame':no numeric data to plot”,所以我认为它是以字符串的形式读取数据。

df = pd.read_csv('data.txt', sep='|', skiprows=44)
df.plot(x='Xpos', y='Ypos')

下面是我运行df.info时得到的结果

int64index:20个条目,2到21个数据列(总共10列):注意20个非空对象HHVA 20个非空对象Xpos 20个非空对象Ypos 20个非空对象Vmag 20个非空对象u_Vmag 20个非空对象B-V 20个非空对象u_B-V 20个非空对象e_B-V 20个非空对象e_B-V 20个非空对象dtypes:object(10)内存使用量:1.7+KB none

列u_Vmag和u_B-V中没有任何测量值。

我觉得我只是错过了一些显而易见的东西。有人有什么建议吗?

共有1个答案

壤驷英叡
2023-03-14

pandas.read_csv()将输入数据转换为输入数据的函数。read_csv()无法检测到输入类型,因为数据为非数值,并且向上转换到对象。

import pandas as pd
import numpy as np
from pandas.compat import StringIO
print(pd.__version__)

data = """
Note|HHVA|Xpos|Ypos|B-V|e_Vmag|e_B-V
1|10001|71.20|68.87|0.731|0.010|0.010
2|10001| |68.87|0.731|0.010|0.010
"""

def myconverter(x):
    try:
        f = float(x)
    except ValueError as ve:
        return np.nan
    return f

df = pd.read_csv(StringIO(data), converters={'Xpos':myconverter}, sep='|', skiprows=0)
print(df.dtypes)

生产

0.24.2
Note        int64
HHVA        int64
Xpos      float64
Ypos      float64
B-V       float64
e_Vmag    float64
e_B-V     float64

 类似资料:
  • 我有多个CSV文件与测量数据,我将需要合并到一个熊猫DataFrame与日期/时间作为索引。我尝试过使用pd.concat,但是,这只是把csv文件添加在一起,并不能正确地“排序”它们。 示例文件1: 示例文件2: 如何将文件导入到一个数据帧中,使其按索引和名称进行排序??

  • 我有1000个文本文件。每个都有日期(我做了索引)和股票价格(列0)。我已经创建了代码来查找单个文件的价格的移动平均线,以及价格和移动平均线之间的滚动差异。我想为每个文件创建这样的代码。我必须在组中上传它们,因为它需要太多的内存来一次性上传它们。 我想我必须使用for循环来遍历文件并找到每个文件的度量。但我该怎么做呢?我如何将所有文件上传到一个组中,然后将它们分组到一个变量中,然后创建一个循环来查

  • 问题内容: 我正在加载一个包含浮点和字符串数据混合的txt文件。我想将它们存储在可以访问每个元素的数组中。现在我正在做 这是输入文件的结构:。 现在,数据将作为唯一列导入。我如何划分它,以便分别存储不同的元素(所以我可以调用)?以及如何定义标题? 问题答案: 您可以使用: 添加您的代码,在引号之间留一个空格。因此,熊猫可以检测值之间的空格并按列排序。数据列用于命名您的列。

  • 我正在尝试制作一个数据帧,以便可以轻松地将其发送到CSV,否则我必须手动执行此过程。。 我希望这是我的最终输出。每个人都有一个月和年的组合,从2014年1月1日开始,一直到2016年1月12日: 到目前为止的代码: 当我尝试循环创建数据帧时,它要么不工作,要么出现索引错误(因为不匹配列表),我不知所措。 我已经做了一点很好的搜索,并找到了以下一些类似的链接,但我不能反向工程的工作,以适应我的情况。

  • 拿着字典: 我如何把这个字典变成一个数据框,其中的值是列?即。我想要一个数据框显示: 这种形式似乎根本得不到! 谢谢 这是一个不同的问题,另一个问题只是问如何将字典的值放入数据帧,我问的是如何获得我概述的特定形式

  • 我需要一些帮助:我正在做一个在Java的飞行花名册模拟。名册将容纳25名乘客,其中22名来自文本文件(passengerlist.txt)。对于每个乘客,有3个必需的数据点;姓名、座位等级和座位号和2个可选数据点数常旅客号码和常旅客点数。每个乘客都在自己的线路上,每个数据点都用逗号隔开。例如: 我有这个类,到目前为止还有构造函数: 我需要做的是从文本文件中读取每一行并创建数组,即使第一个look行