文章目录
1 iloc_and _loc
import numpy as np
import pandas as pd
#创建一个Dataframe
data=pd.DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('ABCD'))
In[1]: data
Out[1]:
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15
#取索引为'a'的行
In[2]: data.loc['a']
Out[2]:
A 0
B 1
C 2
D 3
#取第一行数据,索引为'a'的行就是第一行,所以结果相同
In[3]: data.iloc[0]
Out[3]:
A 0
B 1
C 2
D 3
---------------------
作者:我是二师兄
来源:CSDN
原文:https://blog.csdn.net/w_weiying/article/details/81411257
版权声明:本文为博主原创文章,转载请附上博文链接!
2 ix
索引
import pandas as pd
data = pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]},index=["a","b","c"])
data
A B C
a 1 4 7
b 2 5 8
c 3 6 9
.loc
5 = data.loc['b', 'B'];
.ix
5 = data.ix[1,1]
5 = data.ix["b","B"]
2 切片符[:,] [:]
- [:], 比如a[1:], 从a[1]开始取元素
# b是一个numpy科学数据结构,格式是array
In [76]: b
Out[76]: array([[1, 2, 3, 4],
[2, 3, 4, 5],
[5, 6, 7, 8]])
# 例子1
In [77]: b[:,2] //获得每一行的索引为2的元素(b[0][2], b[1][2], b[2][2])
Out[77]: array([3, 4, 7])
# 例子2
In [78]: b[:,3]
Out[78]: array([4, 5, 8])
# 看看反面例子,如果是list结构的话
In [6]: x
Out[6]: [[1, 2, 3, 4], [2, 3, 4, 5], [5, 6, 7, 8]]
In [5]: x[:,:2]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-5-4b22ebda2101> in <module>()
----> 1 x[:,:2]
TypeError: list indices must be integers or slices, not tuple
3 a[1:3, 1:3], [1:3,1:3] 表示第一维的第1个到第3个(不包括第三个),第二维的第1个到第3个
a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
a
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]])
a[1:3, 1:3] //
array([[ 6, 7],
[10, 11]])
4 dimension(中文翻译为维度)
dimension=0, 表示为列的方向
x = tf.constant([[1, 1, 1], [1, 1, 1]])
tf.reduce_sum(x) # 6
tf.reduce_sum(x, 0) # [2, 2, 2]
tf.reduce_sum(x, 1) # [3, 3]
tf.reduce_sum(x, 1, keepdims=True) # [[3], [3]]
tf.reduce_sum(x, [0, 1]) # 6
dimension=1, 表示行的方向
5 tf.random.normal
tf.random.normal(
shape,
mean=0.0,
stddev=1.0, # bianzun
dtype=tf.dtypes.float32,
seed=None,
name=None
)
6 使用numpy.linspace方法
例如,在从1到3中产生9个数:
>>> print np.linspace(1,3,9)
[ 1. 1.25 1.5 1.75 2. 2.25 2.5 2.75 3. ]
7 3D_Array: axis
8 random.sample
import random
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in range(3):
slice = random.sample(list, 5) # 从list中随机获取5个元素,作为一个片断返回
print(slice)
print(list, '\n') # 原有序列并没有改变