python - 无法使用 Pandas 获取 DataFrame 列的最小值

标签 python pandas dataframe

我正在尝试获取时间列中值的最小值。如果我获取数据的一个子集,我可以做到:

print(df7.ix[3,'START_TIME'].min())
type(df7.ix[3,'START_TIME'].min())

正确返回输出:

09:17:09
str

但是如果我在整个列上尝试,则会返回此错误:

print(df7['START_TIME'].min())

输出:

TypeError: unorderable types: str() <= float()

所以有一些错误的数据使 min 方法出错。有没有办法调用该方法并跳过坏数据?

最佳答案

在我看来,您在那一列中既有 float 又有字符串。

看看这是否有效:

print(df7['START_TIME'].astype(str).min())

如果是,那么该列中也有 float 。您想找到它们并与它们打交道。

my_floats_indices = [i for i, v in df7['START_TIME'].iteritems() if isinstance(v, float)]

然后看看他们

df7.loc[my_floats_indices, 'START_TIME']

看看您是否可以解决您的问题。希望对您有所帮助。

关于python - 无法使用 Pandas 获取 DataFrame 列的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38516668/

相关文章:

python - Pandas :如果左列与任何右列匹配则合并

python - 在 multiprocessing pool.map_async() 中处理 multiprocessing.TimeoutError

Python 记录多个文件

Python:在列之间交换值以在行内对它们进行排序

python - 选择 Pandas DataFrame 的子集

python - 在python中识别具有不同列名的重复列值的列

python - 如何使用python从HTML文件中读取数据并将数据写入CSV文件?

python - 用 Pandas 合并两个数据框

python - python 从不同于零的行中获取列的名称

python - Pandas - 对 DataFrame 的索引应用转换