小编Pyt*_*der的帖子

列 (0,1,3) 具有混合类型。在导入时指定 dtype 选项或设置 low_memory=False。导入 csv 文件时

我正在使用 pandas 将 csv 文件导入到 python 数据框中。PFA 我的代码如下:

import pandas as pd
df=pd.read_csv('C:/Users/Administrator/Desktop/NSE_Normalize.csv')
Run Code Online (Sandbox Code Playgroud)

当我使用上面的代码导入时,没有给出错误,但出现警告,如下所示:

Columns (0,1,3) have mixed types.Specify dtype option on import or set low_memory=False.
Run Code Online (Sandbox Code Playgroud)

通过参考答案Pandas read_csv low_memory and dtype options我开始知道为什么会发生这种情况以及我的文件有不明确的 dtypes。

我能够通过使用来解决这个问题:

df = pd.read_csv("C:/Users/Administrator/Desktop/NSE_Normalize.csv",sep=',', error_bad_lines=False, index_col=False, dtype='unicode') as mentioned on [Specify dtype option on import or set low_memory=False][2]
Run Code Online (Sandbox Code Playgroud)

但是当我导入相同的文件作为 Excel 工作簿(.xlsx 文件)时。不会发生此错误。与 csv 对应项相比,Sure 需要更长的时间才能导入,但不会显示错误。

因此,从上面的讨论中我是否可以知道为什么在 python 中加载 .xlsx 文件的时间比其 .csv 对应的时间长?另外,何时使用 .csv 导入和 .xlsx 导入?

这是我导入的文件:

Excel 文件 csv 和 xlsx 格式

python excel pandas

3
推荐指数
1
解决办法
7493
查看次数

布尔列趋势

完整的代码是:

import pandas as pd
import numpy as np

df = pd.read_excel('C:/Users/Administrator/Documents/Book1.xlsx')

df['boolean'] = df['Prev Close'] < df['Close']

#sample data
df = pd.DataFrame({'boolean' : [False] + [True] + [False] * 2 +
                               [True] * 3 + [False] + [True]})
    
print (df)
   boolean
0    False
1     True
2    False
3    False
4     True
5     True
6     True
7    False
8     True
Run Code Online (Sandbox Code Playgroud)

如果有多个真值,如何检查连续有多少真值将趋势计数器加 1 并将其附加为一列。对于假值计数器必须设置为 0

因此,最终的预期数据帧将如下所示:

   boolean  trend
0    False      0
1     True      1
2    False      0
3    False      0
4 …
Run Code Online (Sandbox Code Playgroud)

python pandas

1
推荐指数
1
解决办法
81
查看次数

标签 统计

pandas ×2

python ×2

excel ×1