Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查列的每个值是否包含整数,如果不包含整数,则打印该单元格的索引_Python_Python 3.x_Csv_Pandas - Fatal编程技术网

Python 检查列的每个值是否包含整数,如果不包含整数,则打印该单元格的索引

Python 检查列的每个值是否包含整数,如果不包含整数,则打印该单元格的索引,python,python-3.x,csv,pandas,Python,Python 3.x,Csv,Pandas,假设我有一个整数和浮点混合的列,我需要在该列中运行一个循环来检查所有值是否都是数字。如果值不是数字,则将该单元格的索引转储到空白列表中 像这样的专栏: DESCRIPTION RATE 79th St & Private Dr - 5022 W 1.5 79th St & Allison Ave 1.5 Allison Ave & 81st St 1 81s

假设我有一个整数和浮点混合的列,我需要在该列中运行一个循环来检查所有值是否都是数字。如果值不是数字,则将该单元格的索引转储到空白列表中

像这样的专栏:

DESCRIPTION                      RATE
79th St & Private Dr - 5022 W        1.5
79th St & Allison Ave                1.5
Allison Ave & 81st St                1
81st St & Norfolk St                 1
Norfolk St & Private Dr - 8178 N     1
Norfolk St & 84th St                 1
Moller Rd & 86th St                  1.5
Zionsville Rd & 86th St              1.5
我写了这样的代码,但是newlist循环不起作用

import pandas as pd
import numpy as np

df = pd.read_csv("C:\\Python34\\python scripts\\BNSF\\data\\data.csv") #read csv
col=df.columns #read header
print(col)
r=df.shape[0] #gives number of row count
c=df.shape[1] #gives number of col count
print(r, c)
typ=df.dtypes
print(typ)

newlist=[] #creates blank list
for i in range(r,1):
    if df.iloc[i,1].dtype == np.int64:
        pass
    else:
        print(df.iloc[i,1])
        newlist.append(df.iloc[i,1])
        print(newlist)

需要在该循环中进行更改。请帮忙。

熊猫的美丽之处在于你可以经常避免使用环。通过执行模1运算并检查零等价性
%1==0
在变量
intcheck
中生成真/假值的数据帧,可以将数据排序为整数/非整数。然后只需从原始数据帧中获取
True
行即可。将
~
放在前面会反转布尔值以获得非整数值

import pandas as pd

d =[["79th St & Private Dr - 5022 W"        ,1.5],
    ["79th St & Allison Ave"                ,1.5],
    ["Allison Ave & 81st St"                ,1  ],
    ["81st St & Norfolk St"                 ,1  ],
    ["Norfolk St & Private Dr - 8178 N"     ,1  ],
    ["Norfolk St & 84th St"                 ,1  ],
    ["Moller Rd & 86th St"                  ,1.5],
    ["Zionsville Rd & 86th St"              ,1.5]]

df = pd.DataFrame(d, columns=['DESCRIPTION','RATE'])
df = df.set_index('DESCRIPTION')

intcheck = (df.RATE%1)==0

print(df[intcheck])

#                                   RATE
# DESCRIPTION                           
# Allison Ave & 81st St              1.0
# 81st St & Norfolk St               1.0
# Norfolk St & Private Dr - 8178 N   1.0
# Norfolk St & 84th St               1.0

print(df[~intcheck])

#                                RATE
# DESCRIPTION                        
# 79th St & Private Dr - 5022 W   1.5
# 79th St & Allison Ave           1.5
# Moller Rd & 86th St             1.5
# Zionsville Rd & 86th St         1.5

您希望在
newlist
、行、列或类似元组的东西中使用什么索引
(行、列)
?请注意,现在添加的是数据帧的值,而不是索引。在任何情况下,数据类型都是按列确定的,所以您可能不需要遍历每个单元格……数据中的newlist是什么?newlist=[[row,column],[row,column]]