我有一个pandas数据帧,具有以下结构:
DF_Cell, DF_Site
C1,A
C2,A
C3,B
C4,B
C5,B
Run Code Online (Sandbox Code Playgroud)
我有一个很长的循环(1亿次迭代),其中我逐个处理对应于DataFrame中"DF_Cell"列的字符串(第一次循环迭代创建C1,第二次迭代创建C2等等).
我想在数据帧中查找与循环中处理的单元格(DF_Cell)对应的DF_Site.
我能想到的一种方法是将处理过的单元格放在一个单元格的DataFrame中然后对其进行左合并,但这对于这样的大数据来说效率太低了.
有没有更好的办法?
也许您想将DF_Cell设置为索引*:
In [11]: df = pd.read_csv('foo.csv', index_col='DF_Cell')
# or df.set_index('DF_Cell', inplace=True)
In [12]: df
Out[12]:
DF_Site
DF_Cell
C1 A
C2 A
C3 B
C4 B
C5 B
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用loc来引用行或特定条目:
In [13]: df.loc['C1']
Out[13]:
DF_Site A
Name: C1, dtype: object
In [14]: df.loc['C1', 'DF_Site']
Out[14]: 'A'
Run Code Online (Sandbox Code Playgroud)
*假设这有两列,你可以使用squeeze=True.
| 归档时间: |
|
| 查看次数: |
7728 次 |
| 最近记录: |