Python 从另一个DataFrame创建DataFrame.Descripte()

Python 从另一个DataFrame创建DataFrame.Descripte(),python,pandas,append,Python,Pandas,Append,这是我的密码 import pandas as pd df = pd.DataFrame({'Test': [861166021755746, 861166021755746, 861166021755746]}) df_2 = pd.DataFrame(df['Test'].describe(), columns = ['Test2']) print(df.describe()) print(df_2.describe()) 这是输出 Test count 3.000000e+00 me

这是我的密码

import pandas as pd
df = pd.DataFrame({'Test': [861166021755746, 861166021755746, 861166021755746]})
df_2 = pd.DataFrame(df['Test'].describe(), columns = ['Test2'])

print(df.describe())
print(df_2.describe())
这是输出

Test
count  3.000000e+00
mean   8.611660e+14
std    0.000000e+00
min    8.611660e+14
25%    8.611660e+14
50%    8.611660e+14
75%    8.611660e+14
max    8.611660e+14
        Test2
count       0
unique      0
我无法理解为什么
df
df_2
的输出不同,您需要添加:

这是不同的,因为数据帧是不同的:

print df
print df_2

              Test
0  861166021755746
1  861166021755746
2  861166021755746
          Test2
0  3.000000e+00
1  8.611660e+14
2  0.000000e+00
3  8.611660e+14
4  8.611660e+14
5  8.611660e+14
6  8.611660e+14
7  8.611660e+14
如果不能使用
tolist()
,则会得到空的
df_2

import pandas as pd
df = pd.DataFrame({'Test': [861166021755746, 861166021755746, 861166021755746]})
df_2 = pd.DataFrame(df['Test'].describe(), columns = ['Test2'])


print df
              Test
0  861166021755746
1  861166021755746
2  861166021755746

print df_2

Empty DataFrame
Columns: [Test2]
Index: []

问题在于如何创建
df_2
。当您说
columns=['Test2']
时,您将丢弃
df['Test']中所有未命名为
Test2
的列。但是没有名为
Test2
的列。因此,您抛出了所有列,结果是一个空的数据帧

要执行所需操作,请提供一个字典,其键为新列名
Test2
,其值为
df['Test']。description()

以便:

>>> print(df.describe())

               Test
count  3.000000e+00
mean   8.611660e+14
std    0.000000e+00
min    8.611660e+14
25%    8.611660e+14
50%    8.611660e+14
75%    8.611660e+14
max    8.611660e+14

>>> print(df_2)

              Test2
count  3.000000e+00
mean   8.611660e+14
std    0.000000e+00
min    8.611660e+14
25%    8.611660e+14
50%    8.611660e+14
75%    8.611660e+14
max    8.611660e+14

非常感谢你!当然,它们是不同的。我的意思是我希望第二个是非空的。你知道我为什么需要
tolist()
。如果我使用
series\u test=pd.series([1,2,3,4,5,6])df\u 3=pd.DataFrame(series\u test,columns=['Test3'])
,那么我会得到非空的DataFrame
df = pd.DataFrame({'Test': [861166021755746, 861166021755746, 861166021755746]})
df_2 = pd.DataFrame({'Test2': df['Test'].describe()})
>>> print(df.describe())

               Test
count  3.000000e+00
mean   8.611660e+14
std    0.000000e+00
min    8.611660e+14
25%    8.611660e+14
50%    8.611660e+14
75%    8.611660e+14
max    8.611660e+14

>>> print(df_2)

              Test2
count  3.000000e+00
mean   8.611660e+14
std    0.000000e+00
min    8.611660e+14
25%    8.611660e+14
50%    8.611660e+14
75%    8.611660e+14
max    8.611660e+14