用于具有形状(143,)和(143,1)的数据框
它们是一样的吗?它们都是1列数据帧,有143行。
谢谢,
答案 0 :(得分:2)
不,第一个对象实际上是pd.Series
个对象,而后者是一个pd.DataFrame
个对象,只有一个列。
您可以通过观察样本来理解:
df
A B
0 3 5
1 1 4
2 4 10
3 0 17
4 13 4
5 12 6
6 3 9
7 3 9
8 7 4
9 1 6
df['A']
0 3
1 1
2 4
3 0
4 13
5 12
6 3
7 3
8 7
9 1
Name: A, dtype: int64
df['A'].shape
(10,)
type(df['A'])
pandas.core.series.Series
df[['A']]
A
0 3
1 1
2 4
3 0
4 13
5 12
6 3
7 3
8 7
9 1
df[['A']].shape
(10, 1)
type(df[['A']])
pandas.core.frame.DataFrame
请注意,双[[..]]
表示法用于从较大的数据帧中提取数据帧子切片。
如果您有一个系列并希望将其转换为数据框,则可以使用to_frame
:
s = df['A']
type(s)
pandas.core.series.Series
v = s.to_frame()
v
A
0 3
1 1
2 4
3 0
4 13
5 12
6 3
7 3
8 7
9 1
type(v)
pandas.core.frame.DataFrame
答案 1 :(得分:1)
没有形状的数据框(143,) 数据框是2D,即使它没有列或一列
pandas.DataFrame(index=range(10)).shape
(10, 0)
pandas.DataFrame(index=range(10), columns=[0]).shape
(10, 1)
pandas系列是一维对象:
pandas.Series(range(10)).shape
(10,)