2024-06-07 00:24:09 发布
网友
我有一个csv文件的数据如下
id^code^result1^result2 AXY-C-5567^AXY^1.0^1.0 RFD-A-3456^RFD^9^8 SAD-AC-4563^SAD^4^6.7 ASE-A-4567^ASE^7.3^2.7 DER-C-3256^DER^5.5^3
在python中,如果id有A而不是C或AC,如何提取第二、第三和第四列?在这种情况下,代码RFD,ASE满足条件,应该被提取
更新:
In [157]: pd.read_csv(r'/path/to/file.csv', sep='^', usecols=[0,1]) \ .query("id.str.contains('-A-')", engine='python').iloc[:, 1] Out[157]: 1 RFD 3 ASE Name: code, dtype: object In [208]: pd.read_csv(r'/path/to/file.csv', sep='^') \ .query("id.str.contains('-A-')", engine='python').iloc[:, [1,2,3]] Out[208]: code result1 result2 1 RFD 9.0 8.0 3 ASE 7.3 2.7
旧答案:
这就是你想要的吗
In [149]: df Out[149]: id code result1 result2 0 AXY-C-5567 AXY 1.0 1.0 1 RFD-A-3456 RFD 9.0 8.0 2 SAD-AC-4563 SAD 4.0 6.7 3 ASE-A-4567 ASE 7.3 2.7 4 DER-C-3256 DER 5.5 3.0 In [150]: df.loc[df.id.str.contains(r'-A-'), 'code'] Out[150]: id code result1 result2 1 RFD-A-3456 RFD 9.0 8.0 3 ASE-A-4567 ASE 7.3 2.7
仅第二列:
In [151]: df.loc[df.id.str.contains(r'-A-'), 'code'] Out[151]: 1 RFD 3 ASE Name: code, dtype: object
更新:
旧答案:
这就是你想要的吗
仅第二列:
相关问题 更多 >
编程相关推荐