我有一个包含库存信息的数据框
stocks_df.head()
Symbol Security GICS Sector GICS Sub Industry Price_1_1 Price_3_23 Price_4_9 Shares
index
0 MMM 3M Company Industrials Industrial Conglomerates 180 117.87 147.78 575261000
1 ABT Abbott Laboratories Health Care Health Care Equipment 86.95 62.82 86.04 1763433000
2 ABBV AbbVie Inc. Health Care Pharmaceuticals 89.55 64.5 79.75 1476673000
3 ABMD ABIOMED Inc Health Care Health Care Equipment 168.81 132.34 160.08 45063000
4 ACN Accenture plc Information Technology IT Consulting & Other Services 210.15 143.69 177.92 637027000
当我查看获得的数据类型时
stocks_df.dtypes
Symbol object
Security object
GICS Sector object
GICS Sub Industry object
Price_1_1 object
Price_3_23 object
Price_4_9 object
Shares object
dtype: object
我意识到熊猫通过使用指向字符串对象的指针数组来提供闪电般的快速访问。 这些线程中对此进行了明确的讨论。
Strings in a DataFrame, but dtype is object
https://www.gormanalysis.com/blog/python-pandas-for-your-grandpa-series-creation/
但是当我检查特定列的数据类型时,我发现了类型,系列而不是对象
print(type(stocks_df["Shares"]))
<class 'pandas.core.series.Series'>
但实际输入都是字符串
print((stocks_df["Shares"][0]))
print(type(stocks_df["Shares"][0]))
575261000
<class 'str'>
OTOH,如果我尝试以此方式查找条目
print(stocks_df.iloc[:1, stocks_df.columns.get_loc('Shares')],'\n')
print(type(stocks_df.iloc[:1, stocks_df.columns.get_loc('Shares')]))
我明白了
index
0 575261000
Name: Shares, dtype: object
<class 'pandas.core.series.Series'>
此数据框是从字符串值的电子表格创建的。
在第一个查询stocks_df.dtypes中,每一列都是对象类型。
在第二个查询中,键入(stocks_df [“ Shares”]),列的类型为series。
获取行中每个条目的实际数据类型的适当语法是什么?
我在问这个问题和这些主题之前进行了搜索
pandas how to check dtype for all columns in a dataframe?
https://www.pythonprogramming.in/how-to-check-the-data-type-of-dataframe-columns-in-pandas.html
说我的查询stocks_df.dtypes应该为每个条目显示“ class'str”。