我们现在都有一个问题: with it‘s非常好,解释了如何更改列的数据类型,但是如果我有一个带有以下df.dtypes的dataframe df怎么办?
A object
B int64
C int32
D object
E int64
F float32
如果没有明确性,我如何更改?提到所有int64类型都转换为int32类型的列名?因此,期望的结果是:
A object
B int32
C int32
D object
E int32
F float32
我对编程(在python中)非常陌生,我想创建一个新变量,它是列的对数(来自导入的excel文件)。我尝试了不同的解决方案,从这个网站,但我不断得到一个错误。我最近的错误是AttributeError: 'str' object has no attribute 'log'. --我已经删除了所有不是“数字”的值,但我仍然不知道如何将值从字符串转换为整数(如果是这样的话,因为‘int(邻域)’不工作)。
这是我现在的代码:
import pandas as pd
import numpy as np
df=pd.read_excel("kwb-2016
让我有一个数据df
Name Age Job
Rick 24 Worker
Max 20 Worker
Sam 48 Driver
Expected output:
Name
Job
现在,我想打印出具有对象类型数据的列(名称)。
以下是我的尝试:
for column in df:
if df.dtypes(column) == 'object':
print(column)
但我得
我在python3中有一个带有mysql.connector的SQL查询,我正在将提取的结果转换成一个熊猫数据。
mycursor.execute(sql_query)
m_table = pd.DataFrame(mycursor.fetchall())
m_table.columns = [i[0] for i in mycursor.description]
得到dtypes会给我:
Out[185]:
sales_forecast_id int64
year int64
products_id
我想确定大熊猫中的一列是否是一个列表(每一行)。
df=pd.DataFrame({'X': [1, 2, 3], 'Y': [[34],[37,45],[48,50,57]],'Z':['A','B','C']})
df
Out[160]:
X Y Z
0 1 [34] A
1 2 [37, 45] B
2 3 [48, 50, 57] C
df.dtypes
Out[161]:
X int64
Y o
我有一个数据帧df,它有一些float64类型的列,而其他列是object。由于混合的性质,我不能使用
df.fillna('unknown') #getting error "ValueError: could not convert string to float:"
因为错误发生在类型为float64的列上(多么误导性的错误消息!)
所以我希望我能做像这样的事情
for col in df.columns[<dtype == object>]:
df[col] = df[col].fillna("unknown")
所以
假设我有一个dataframe,并且希望将数据类型设置为所有列,就像我调用read_csv方法一样。为了简单起见,同样的错误,TypeError: object of type 'type' has no len()给出了这段代码:
df = pd.DataFrame([1,2,2,3], columns = ['num'], dtype={'num':int})
这里有什么问题,怎么让它工作呢?
全错误堆栈:
TypeError Traceback (most recent cal
我正在阅读数据
df = pandas.read_csv("file.csv", names=['A','B','C','D','E','F','G', 'H','I','J', 'K'], header=None)
我得到了
df.dtypes
Out[54]:
A int64
B object
C int64
D int64
E object
F objec
根据https://stackoverflow.com/a/46206376/11578009,我正在尝试附加HDFStore文件 import pandas as pd
hdfStore = pd.HDFStore('dataframe.h5')
#df=
#a b c d f
#0 125 -6.450 ... 0 2020-04-#16T02:30:00
#2 124
我有一个具有object,int64,float64数据类型的pandas数据帧。我想获取int64 and float64列的列名。我在pandas中使用了以下命令,但它似乎不起作用
cat_num_prv_app = [num for num in list(df.columns) if isinstance(num, (np.int64,np.float64))]
以下是我的数据类型
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1670214 entries, 0 to 1670
我正在创建一个小的Pandas DataFrame,并向它添加一些数据,这应该是整数。但是,尽管我非常努力地将dtype显式设置为int,并且只提供int值,但它最终总是成为浮点。这对我来说毫无意义,而且这种行为似乎也不完全一致。
考虑下面的Python脚本:
import pandas as pd
df = pd.DataFrame(columns=["col1", "col2"]) # No dtype specified.
print(df.dtypes) # dtypes are object, since there is no informat