Ana*_*Ana 20 python numpy dataframe pandas
我正在阅读Excel工作表,我想读取某些列:第0列,因为它是行索引,第22:37列.现在我正在做的事情:
import pandas as pd
import numpy as np
file_loc = "path.xlsx"
df = pd.read_excel(file_loc, index_col=None, na_values=['NA'], parse_cols = 37)
df= pd.concat([df[df.columns[0]], df[df.columns[22:]]], axis=1)
Run Code Online (Sandbox Code Playgroud)
但我希望有更好的方法来做到这一点!我知道如果我parse_cols=[0, 22,..,37]能这样做,但对于大型数据集,这没有意义.
我也这样做了:
s = pd.Series(0)
s[1]=22
for i in range(2,14):
s[i]=s[i-1]+1
df = pd.read_excel(file_loc, index_col=None, na_values=['NA'], parse_cols = s)
Run Code Online (Sandbox Code Playgroud)
但它读取前15列的长度s.
Mar*_*cka 25
你可以像这样使用列索引(字母):
import pandas as pd
import numpy as np
file_loc = "path.xlsx"
df = pd.read_excel(file_loc, index_col=None, na_values=['NA'], usecols = "A,C:AA")
print(df)
Run Code Online (Sandbox Code Playgroud)
相应文件:
parse_cols:int或list,默认为None
- 如果为None则解析所有列,
- 如果int则表示要解析的最后一列
- 如果int列表则表示要解析的列号列表
- 如果string则表示以逗号分隔的列名和列范围列表(例如"A:E"或"A,C,E:F")
Leo*_*oli 14
parse_cols已弃用,请usecols改用
那是:
df = pd.read_excel(file_loc, index_col=None, na_values=['NA'], usecols = "A,C:AA")
Run Code Online (Sandbox Code Playgroud)
小智 10
如果您知道列的名称并且不想使用 A、B、D 或 0、4、7。这实际上有效
df = pd.read_excel(url)[['name of column','name of column','name of column','name of column','name of column']]
Run Code Online (Sandbox Code Playgroud)
其中“列名称”= 想要的列。区分大小写和空格
“usecols”应该会有所帮助,使用列范围(根据excel工作表,A,B...等)下面是示例
1. 选定的列
df = pd.read_excel(file_location,sheet_name='Sheet1', usecols="A,C,F")
Run Code Online (Sandbox Code Playgroud)
2. 列的范围和选择的列
df = pd.read_excel(file_location,sheet_name='Sheet1', usecols="A:F,H")
Run Code Online (Sandbox Code Playgroud)
3. 多个范围
df = pd.read_excel(file_location,sheet_name='Sheet1', usecols="A:F,H,J:N")
Run Code Online (Sandbox Code Playgroud)
4. 列范围
df = pd.read_excel(file_location,sheet_name='Sheet1', usecols="A:N")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
54917 次 |
| 最近记录: |