DataFrame 的用法
import pandas as pd
import numpy as np
f1= pd. DataFrame( np. random. randn( 4 , 4 ) , index= list ( 'ABCD' ) , columns= list ( 'ABCD' ) )
print ( f1)
A B C D
A -0.883017 -0.026927 1.262445 -0.751374
B -0.207952 -0.187403 -0.527665 0.641382
C 0.485144 -0.987394 0.010190 2.035886
D -2.764454 -0.905228 0.179511 0.118676
f1= pd. DataFrame( np. random. randn( 1 , 3 ) , index= list ( 'ABCD' ) , columns= list ( 'ABCD' ) )
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\internals\managers.py in create_block_manager_from_blocks(blocks, axes)
1677 blocks = [
-> 1678 make_block(values=blocks[0], placement=slice(0, len(axes[0])))
1679 ]
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\internals\blocks.py in make_block(values, placement, klass, ndim, dtype, fastpath)
3283
-> 3284 return klass(values, ndim=ndim, placement=placement)
3285
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\internals\blocks.py in __init__(self, values, placement, ndim)
127 "Wrong number of items passed {val}, placement implies "
--> 128 "{mgr}".format(val=len(self.values), mgr=len(self.mgr_locs))
129 )
ValueError: Wrong number of items passed 3, placement implies 4
During handling of the above exception, another exception occurred:
ValueError Traceback (most recent call last)
<ipython-input-6-7f52b87cad5f> in <module>
----> 1 f1=pd.DataFrame(np.random.randn(1,3),index=list('ABCD'),columns=list('ABCD')) # 报错原因:生成对的数字和表格不匹配
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\frame.py in __init__(self, data, index, columns, dtype, copy)
438 mgr = init_dict({data.name: data}, index, columns, dtype=dtype)
439 else:
--> 440 mgr = init_ndarray(data, index, columns, dtype=dtype, copy=copy)
441
442 # For data is list-like, or Iterable (will consume into list)
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\internals\construction.py in init_ndarray(values, index, columns, dtype, copy)
211 block_values = [values]
212
--> 213 return create_block_manager_from_blocks(block_values, [columns, index])
214
215
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\internals\managers.py in create_block_manager_from_blocks(blocks, axes)
1686 blocks = [getattr(b, "values", b) for b in blocks]
1687 tot_items = sum(b.shape[0] for b in blocks)
-> 1688 construction_error(tot_items, blocks[0].shape[1:], axes, e)
1689
1690
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\internals\managers.py in construction_error(tot_items, block_shape, axes, e)
1717 raise ValueError("Empty data passed with indices specified.")
1718 raise ValueError(
-> 1719 "Shape of passed values is {0}, indices imply {1}".format(passed, implied)
1720 )
1721
ValueError: Shape of passed values is (1, 3), indices imply (4, 4)
np. random. rand( 4 , 2 )
array([[0.6289186 , 0.39523553],
[0.83934118, 0.20554643],
[0.76923949, 0.85221097],
[0.46651911, 0.10604422]])