在Python Anaconda中进行.csv预处理和合并,部分成功

2024-05-08 21:18:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经成功地连接了我的部分数据,但是我想在dtype prep中需要一些指针来连接整个数据集!你知道吗

在python Anaconda中连接9个csv(相同的列标题)。首先,6无问题(df1-6)。7-9(df7-9)未发生(.csv不大于5mb)。我尝试根据它猜测的.csv的1-6的数据类型来定义数据类型,做了一些调整,但它在代码中没有将Float64识别为数据类型,还尝试了low_memory=False,它不知道False是什么。新手。你知道吗

df1 = pd.read_csv('AN.csv', header=0, nrows=1934)
df2 = pd.read_csv('J.csv', skiprows=0, nrows=89656)
# df2.head displayed minor data issue,  this files timestamp is missing seconds so need to auto add :00 somehow after remedy greater issue"
df3 = pd.read_csv('SN.csv', skiprows=0, nrows=6129)
df4 = pd.read_csv('SR.csv', skiprows=0, nrows=975)
df5 = pd.read_csv('UP.csv', skiprows=0, nrows=3080)
df6 = pd.read_csv('YS.csv', skiprows=0, nrows=168)
#df7 = pd.read_csv('FL.csv', skiprows=0, nrows=408, low_memory=False)
df7 = pd.read_csv('FL.csv', skiprows=0, nrows=408,
                  df7.dtype={"Date and Time (UTC)": object,
                             "Receiver": object, "Transmitter": object, 
                             "Transmitter Name": float64,
                             "Transmitter Serial": float64,
                             "Sensor Value": int,
                             "Sensor Unit": object,
                             "Station Name": object,
                             "Latitude": float64,
                             "Longitude": float64})
#df8 = pd.read_csv('GR.csv', skiprows=0, nrows=4698, low_memory=False)
df8 = pd.read_csv('GR.csv', skiprows=0, nrows=4698,
                  df8.dtype=({"Date and Time (UTC)": object,
                             "Receiver": object, "Transmitter": object,
                             "Transmitter Name": float64,
                             "Transmitter Serial": float64,
                             "Sensor Value": int,
                             "Sensor Unit": object,
                             "Station Name": object,
                             "Latitude": float64,
                             "Longitude": float64})
df9 = 'PL.csv'
#df9 = pd.read_csv ('PL.csv', skiprows=0, nrows=19385, low_memory=False)
df9 = pd.read_csv ('PL.csv', skiprows=0, nrows=19385,
                    df9.dtype={"Date and Time (UTC)": object,
                             "Receiver": object,
                             "Transmitter": object,
                             "Transmitter Name": float64,
                             "Transmitter Serial": float64,
                             "Sensor Value": int,
                             "Sensor Unit": object,
                             "Station Name": object,
                             "Latitude": float64,
                             "Longitude": float64})

当我在dtypes中检查df1df6时,它们填充在一起并且是相同的。当我检查df7df9时,它返回一个错误:df7'str'对象没有属性,df8df9有一个NameError并且它们没有定义。你知道吗

df7.head()返回

AttributeError: 'str' object has no attribute 'head'

df1df6显示了一个合适的数据表示例。你知道吗


Tags: csvnamefalsereadobjectsensorpddf1
1条回答
网友
1楼 · 发布于 2024-05-08 21:18:35

你有一些不同的事情要做。你知道吗

对于数据类型问题,在^{}文档中有一些关于指定类型的示例。您需要使用dtype作为参数名,而不是您所拥有的名称(即df7.dtypes)。你知道吗

对于属性错误,这是因为您为该变量指定了一个字符串。也就是说

df9 = 'PL.csv'

意味着df9现在是一个字符串。试着打印它,你会看到df9打印PL.csv。你知道吗

NoneType错误是因为Python从未访问过df8和df9。(NoneType通常意味着出了问题,变量还不存在。)

相关问题 更多 >