Pandas 第二个csv文件的长度不等于使用np.select的基本文件

Pandas 第二个csv文件的长度不等于使用np.select的基本文件,pandas,numpy,Pandas,Numpy,我正在尝试使用np.select将两列的值从file1合并到一个新列中,并将其写入file2。但是,最后两个文件的长度(行数)不同。由于某种原因,总有几百行代码丢失 我有三列:“Time”、“LSB”、“MSB”,每列大约有1000个值 以下是我的代码摘录: file2 = File_Name_G() #This is a function to define the name of file2 imu_gyr = pd.read_csv(file1, index_col=0) imu_gyr

我正在尝试使用np.select将两列的值从file1合并到一个新列中,并将其写入file2。但是,最后两个文件的长度(行数)不同。由于某种原因,总有几百行代码丢失

我有三列:“Time”、“LSB”、“MSB”,每列大约有1000个值

以下是我的代码摘录:

file2 = File_Name_G() #This is a function to define the name of file2

imu_gyr = pd.read_csv(file1, index_col=0)
imu_gyr["Gyr_x"] = np.select([(imu_gyr["LSB"] + imu_gyr["MSB"]*256) > 32767], [(imu_gyr["LSB"] + imu_gyr["MSB"]*256 - 65536)/1000], (imu_gyr["LSB"] + imu_gyr["MSB"]*256)/1000]

imu_gyr.to_csv(file2)
我的代码没有显示错误,我真的很困惑为什么会发生这种情况。我认为这可能与处理能力有关,但file1的长度对file2中缺少的行数没有实际影响

有没有人遇到过类似的问题,或者有人能帮我解决这个问题

非常感谢!:)
Sam

除非numpy源中存在一些bug,否则这是不可能的。NumPy可能会因数据帧作为输入而行为不当。是否可以尝试先从pandas数据帧中提取numpy数组(使用
.value
),然后尝试运行代码?然后,您可以将输出numpy数组转换为pandas数据帧,以将结果保存在某个文件中。@TirthPatel我意识到问题在于
pd.read\u csv
,因为它没有读取整个数据(没有读取所有行)。我已将该行更改为pd.read_csv(file1,index_col=0,quoting=csv.QUOTE_NONE,error_bad_lines=False)[.它工作得更好,但仍然在结尾省略了一些行…您是否尝试过调查为什么会发生这种情况?我最好的猜测是pandas无法解释的非ascii或非unicode字符。但我不熟悉pandas源代码,所以我不能说…除非numpy源代码中存在一些错误,否则这是不可能的。numpypandas数据帧作为输入可能会出现错误。能否尝试先从pandas数据帧中提取numpy数组(使用
.value
)然后尝试运行您的代码?然后您可以将输出numpy数组转换为pandas数据帧以将结果保存在某个文件中。@TirthPatel我意识到问题在于
pd.read\u csv
,因为它没有读取整个数据(没有读取所有行)。我已将该行更改为
pd.read\u csv(文件1,索引\u col=0,quoting=csv.QUOTE\u无,错误\u bad\u line=False)
按照[.它工作得更好,但仍然在结尾省略了一些行…您是否尝试过调查为什么会发生这种情况?我最好的猜测是pandas无法解释的非ascii或非unicode字符。但我不熟悉pandas的源代码,所以我不能说。。。