2024-03-29 05:04:13 发布
网友
如果要提取给定行标签和列标签序列的一组值,并且lookup方法允许这样做并返回numpy数组。
以下是我的代码片段和输出:
>>> import pandas as pd >>> import numpy as np >>> df = DataFrame(np.random.rand(20,4), columns = ['A','B','C','D']) >>> df A B C D 0 0.121190 0.360813 0.500082 0.817546 1 0.304313 0.773412 0.902835 0.440485 2 0.700338 0.733342 0.196394 0.364041 3 0.385534 0.078589 0.181256 0.440475 4 0.151840 0.956841 0.422713 0.018626 5 0.995875 0.110973 0.149234 0.543029 6 0.274740 0.745955 0.420808 0.020774 7 0.305654 0.580817 0.580476 0.210345 8 0.726075 0.801743 0.562489 0.367190 9 0.567987 0.591544 0.523653 0.133099 10 0.795625 0.163556 0.594703 0.208612 11 0.977728 0.751709 0.976577 0.439014 12 0.967853 0.214956 0.126942 0.293847 13 0.189418 0.019772 0.618112 0.643358 14 0.526221 0.276373 0.947315 0.792088 15 0.714835 0.782455 0.043654 0.966490 16 0.760602 0.487120 0.747248 0.982081 17 0.050449 0.666720 0.835464 0.522671 18 0.382314 0.146728 0.666722 0.573501 19 0.392152 0.195802 0.919299 0.181929 >>> df.lookup([0,2,4,6], ['B', 'C', 'A','D']) array([ 0.36081287, 0.19639367, 0.15184046, 0.02077381]) >>> df.lookup([0,2,4,6], ['A', 'B', 'C','D']) array([ 0.12119047, 0.73334194, 0.4227131 , 0.02077381]) >>>
import numpy as np import pandas as pd df = pd.DataFrame(data = np.arange(8).reshape(4,2), columns=['name', 'value'])
结果:
>>> df name value 0 0 1 1 2 3 2 4 5 3 6 7 >>> any(df.name == 4) True >>> any(df.name == 5) False
第二部分:
my_data = np.arange(8).reshape(4,2) my_data[0,0] = 4 df = pd.DataFrame(data = my_data, columns=['name', 'value'])
>>> df.loc[df.name == 4] name value 0 4 1 2 4 5
更新:
my_data = np.arange(8).reshape(4,2) my_data[0,0] = 4 df = pd.DataFrame(data = my_data, index=['a', 'b', 'c', 'd'], columns=['name', 'value'])
>>> df.loc[df.name == 4] # gives relevant rows name value a 4 1 c 4 5 >>> df.loc[df.name == 4].index # give "row names" of relevant rows Index([u'a', u'c'], dtype=object)
如果要提取给定行标签和列标签序列的一组值,并且lookup方法允许这样做并返回numpy数组。
以下是我的代码片段和输出:
结果:
第二部分:
结果:
更新:
结果:
相关问题 更多 >
编程相关推荐