【发布时间】:2018-07-14 15:29:21
【问题描述】:
在this SO post 上有人建议使用 df.info() 来获取有关 pandas df 的信息,包括每个字段的数据类型。
在此粘贴部分此人的回答:
train.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
PassengerId 891 non-null int64
Survived 891 non-null int64
Pclass 891 non-null int64
Name 891 non-null object
Sex 891 non-null object
Age 714 non-null float64
SibSp 891 non-null int64
Parch 891 non-null int64
Ticket 891 non-null object
Fare 891 non-null float64
Cabin 204 non-null object
Embarked 889 non-null object
dtypes: float64(2), int64(5), object(5)
memory usage: 83.6+ KB
我在自己的 pandas 数据框上试过这个:
sessions1DF.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 69085 entries, 0 to 69084
Data columns (total 10 columns):
ga:date 69085 non-null object
ga:hour 69085 non-null object
ga:dimension1 69085 non-null object
ga:dimension2 69085 non-null object
ga:userType 69085 non-null object
ga:landingpagePath 69085 non-null object
ga:deviceCategory 69085 non-null object
ga:sessions 69085 non-null object
ga:goal1Completions 69085 non-null object
ga:bounces 69085 non-null object
dtypes: object(10)
memory usage: 5.3+ MB
一切都是我期望字符串和数字组合的对象。这是头:
sessions1DF.head()
Out[13]:
ga:date ga:hour ... ga:goal1Completions ga:bounces
0 20180605 18 ... 0 0
1 20180605 18 ... 0 1
2 20180605 18 ... 0 0
3 20180605 18 ... 0 1
4 20180605 18 ... 0 0
[5 rows x 10 columns]
(我希望我知道如何强制 pandas head() 向我显示所有功能,而不仅仅是上面显示的 4 个)。
sessions1DF 实际上有一个名为“dimension1”的字段,它应该是一个字符串,我想将它与另一个数据框 session2DF 连接起来,它们都共享相同的字段“dimension1”。所以我想在维度 1 上加入他们。
我的 pandas 数据框有什么“错误”吗?有没有办法将所有对象“提取”为其中的实际数据?大概我的数据框不是正常格式,每个字段只是一个数据向量。
有没有办法改变我的数据框,这样如果我输入sessions1DF.info(),我会得到类似于粘贴在顶部的结果,每一列都是字符串、int 等而不是对象?
【问题讨论】:
-
嗨,我今天也遇到了类似的挑战。以下是我的发现:a)我有多个标题 b)缺失值 c)“。” &“-”。由于我从数据库中提取数据,由于不正确调整行大小和页面大小,我有多个标题。我手动删除了记录,它运行良好,并且有 int、float、obj 全部。