英文:
Pandas: Check if Pandas Dataframe column contains a Dataframe
问题
我有一个DataFrame,其中有一列的值是DataFrame类型。我想要检查该列中的所有值是否都是DataFrame类型。
t_df = DataFrame(data={
"r": [1,2,3],
"r": ['a', 'b', 'c']
})
d = {
"ts": [1e7, 1e8, 1e9],
"value": [100, 200, 300],
"value2": [1, 2, 3],
"tvalue": [t_df, t_df, t_df]
}
df = pd.DataFrame(d)
如果我检查type(df['tvalue'])
,它显示为<class 'pandas.core.series.Series'>
,如果我对value2
列进行相同的检查,它也显示为<class 'pandas.core.series.Series'>
。
有没有办法确定tvalue
列中的所有值是否都是DataFrame
类型。
英文:
I have a DataFrame where there is a column with DataFrame type values. I would want to check if all the values in that column are of type DataFrame.
t_df = DataFrame(data= {
"r": [1,2,3],
"r": ['a', 'b', 'c']
})
d = {
"ts": [1e7, 1e8, 1e9],
"value": [100, 200, 300],
"value2": [1, 2, 3],
"tvalue": [t_df, t_df, t_df]
}
df = pd.DataFrame(d)
if I check type(df['tvalue'])
it shows - <class 'pandas.core.series.Series'>
and if I do the same check for value2
column it shows <class 'pandas.core.series.Series'>
only.
Is there a way to determine if the all the values inside tvalue
are of type DataFrame
.
答案1
得分: 3
使用all
和isinstance
来检查列tvalue
中的所有值:
print(all((isinstance(x, pd.DataFrame) for x in df['tvalue'])))
True
使用all
函数和生成器表达式(isinstance(x, pd.DataFrame) for x in df['tvalue'])
来遍历列tvalue
中的所有值,并检查它们是否都是pd.DataFrame
类型。如果所有值都是pd.DataFrame
类型,则返回True
。
英文:
Use all
with isinstance
by all values in column tvalue
:
print (all((isinstance(x, pd.DataFrame) for x in df['tvalue'])))
True
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论