Python中文
首页
教程
问答
标签
搜索
登录
注册
从数据帧中删除列,其中标头包含范围中的int
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个数据帧df_alltrades,它有许多类似的列,其中字符串包括整数:</p> <pre><code> instrument Bid0Mkt Bid1Mkt Bid2Mkt Bid3Mkt Bid4Mkt ... 0 EURUSD 1.1 1.2 1.2 1.3 1.3 1 NZDUSD 0.6 0.65 0.7 0.9 0.92 . . . . . . . . . . . . </code></pre> <p>我还为<code>OfferXMkt</code>设置了相应的列,并将许多其他列格式化为str</p> <p>我想删除<code>BidXMkt</code>和<code>OfferXMkt</code>中的<code>X</code>大于0的任何列,这样我就可以得到如下结果:</p> <pre><code> instrument Bid0Mkt Offer0Mkt ... 0 EURUSD 1.1 1 NZDUSD 0.6 . . . . . . </code></pre> <p>我可以通过写出每个if语句来实现这一点</p> <pre><code>for column in df_alltrades.columns: if '1' in column: df_alltrades.drop(columns=column, inplace=True) if '2' in column: df_alltrades.drop(columns=column, inplace=True) if '3' in column: df_alltrades.drop(columns=column, inplace=True) if '4' in column: df_alltrades.drop(columns=column, inplace=True) </code></pre> <p>但我希望通过一个循环来清理它,比如:</p> <pre><code>for column in df_alltrades.columns: for C in range(1, 5): if C in column: df_alltrades.drop(columns=column, inplace=True) </code></pre> <p>但我得到了一个错误: <code>TypeError: 'in <string>' requires string as left operand, not int</code></p> <p>我也尝试过这样的事情</p> <pre><code>for X in range(1, 5): BidMkt = 'Bid{}Mkt'.format(X) df_new = df_alltrades.drop([BidMkt], axis = 1) </code></pre> <p>即使<code>print(BidMkt)</code>给出了完整的列表,也只会删除<code>Bid4Mkt</code></p> <p>谢谢你的帮助</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>检查哪些列中没有0:</p> <pre class="lang-python prettyprint-override"><code>for column in df_alltrades.columns: if 'Bid' in column and '0' not in column: df_alltrades.drop(columns=column, inplace=True) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
pyVISA GPIB GET(组执行触发器)
8 回答
Pyvisa IOerror设备:Korad K3005d电源
7 回答
PyVISA mac OS X(山狮)安捷伦33250
7 回答
Pyvisa Pyusb无法加载大于1 MB的序列
2 回答
pyVisa RS232太慢
7 回答
PyVISA RS232超时错误(安捷伦电源)
8 回答
PyVISA SCPI命令和查询(值更新问题)
1 回答
PyVISA SerialInstrument需要硬重置才能在故障后连接
8 回答
pyvisa,未找到函数viOpen
2 回答
pyVISA:以编程方式将仪器返回到本地模式
7 回答
pyvisa:接口类型是什么意思?
4 回答
pyvisa.errors.VisaIOError:VI_ERROR_TMO(1073807339):操作完成前超时
6 回答
PyVisa“更复杂的示例”根本不运行Keithley 2400不理解的命令
6 回答
PyVisapy后端
7 回答
PyVISA不能写入超过7F的十六进制字符
10 回答
PYVISA中的ENUM模块和cStringIO模块
9 回答
PyVisa代码的图形用户界面
4 回答
Pyvisa使用按键电源超时
2 回答
PyVISA和Kethley 2701只能从一个通道获取结果
9 回答
PyVisa和Printing New D
4 回答