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

Aka*_*ole 3 python complex-data-types dataframe pandas

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

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

[1]:

alp*_*ğlu 6

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

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

df.applymap(check_type)
Run Code Online (Sandbox Code Playgroud)

如果您还想获得有多少数据类型,您可以使用类似

df.applymap(type).value_counts()
Run Code Online (Sandbox Code Playgroud)

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

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

Run Code Online (Sandbox Code Playgroud)