如何使用 apply、map 或 applymap 在 pandas 数据框中查找每一行和每一列数据类型?

How to find each row and column data type in pandas dataframe using apply, map or applymap?

我有如图所示的数据框。我希望每一行和每一列的数据类型都使用 apply/map/applymap。 如何获得这个数据类型?某些列具有突出显示的混合数据类型,例如list 和 str,有些有 list 和 dict。

[![samplepandasdataframe][1]][1]

[1]:

如果您想要每个单元格的评估类型值,您可以使用

def check_type(x):
     try: 
        return type(eval(x)) 
     except Exception as e:
        return type(x)

df.applymap(check_type)

如果你还想知道你有多少数据类型,你可以使用像

这样的东西
df.applymap(type).value_counts()

或者如果您想获取所有数据框的值而不是按列获取值

np.unique(df.applymap(type).astype(str).values, return_counts=True)