当前位置: 首页 > news >正文

Python酷库之旅-第三方库Pandas(003)

目录

一、用法精讲

4、pandas.read_csv函数

4-1、语法

4-2、参数

4-3、功能

4-4、返回值

4-5、说明

4-6、用法

4-6-1、创建csv文件

4-6-2、代码示例 

4-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

4、pandas.read_csv函数
4-1、语法
# 4、pandas.read_csv函数
pandas.read_csv(filepath_or_buffer, *, sep=_NoDefault.no_default, delimiter=None, header='infer', names=_NoDefault.no_default, index_col=None, usecols=None, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=_NoDefault.no_default, skip_blank_lines=True, parse_dates=None, infer_datetime_format=_NoDefault.no_default, keep_date_col=_NoDefault.no_default, date_parser=_NoDefault.no_default, date_format=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression='infer', thousands=None, decimal='.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, encoding_errors='strict', dialect=None, on_bad_lines='error', delim_whitespace=_NoDefault.no_default, low_memory=True, memory_map=False, float_precision=None, storage_options=None, dtype_backend=_NoDefault.no_default)
Read a comma-separated values (csv) file into DataFrame.Also supports optionally iterating or breaking of the file into chunks.Additional help can be found in the online docs for IO Tools.Parameters:
filepath_or_bufferstr, path object or file-like object
Any valid string path is acceptable. The string could be a URL. Valid URL schemes include http, ftp, s3, gs, and file. For file URLs, a host is expected. A local file could be: file://localhost/path/to/table.csv.If you want to pass in a path object, pandas accepts any os.PathLike.By file-like object, we refer to objects with a read() method, such as a file handle (e.g. via builtin open function) or StringIO.sepstr, default ‘,’
Character or regex pattern to treat as the delimiter. If sep=None, the C engine cannot automatically detect the separator, but the Python parsing engine can, meaning the latter will be used and automatically detect the separator from only the first valid row of the file by Python’s builtin sniffer tool, csv.Sniffer. In addition, separators longer than 1 character and different from '\s+' will be interpreted as regular expressions and will also force the use of the Python parsing engine. Note that regex delimiters are prone to ignoring quoted data. Regex example: '\r\t'.delimiterstr, optional
Alias for sep.headerint, Sequence of int, ‘infer’ or None, default ‘infer’
Row number(s) containing column labels and marking the start of the data (zero-indexed). Default behavior is to infer the column names: if no names are passed the behavior is identical to header=0 and column names are inferred from the first line of the file, if column names are passed explicitly to names then the behavior is identical to header=None. Explicitly pass header=0 to be able to replace existing names. The header can be a list of integers that specify row locations for a MultiIndex on the columns e.g. [0, 1, 3]. Intervening rows that are not specified will be skipped (e.g. 2 in this example is skipped). Note that this parameter ignores commented lines and empty lines if skip_blank_lines=True, so header=0 denotes the first line of data rather than the first line of the file.namesSequence of Hashable, optional
Sequence of column labels to apply. If the file contains a header row, then you should explicitly pass header=0 to override the column names. Duplicates in this list are not allowed.index_colHashable, Sequence of Hashable or False, optional
Column(s) to use as row label(s), denoted either by column labels or column indices. If a sequence of labels or indices is given, MultiIndex will be formed for the row labels.Note: index_col=False can be used to force pandas to not use the first column as the index, e.g., when you have a malformed file with delimiters at the end of each line.usecolsSequence of Hashable or Callable, optional
Subset of columns to select, denoted either by column labels or column indices. If list-like, all elements must either be positional (i.e. integer indices into the document columns) or strings that correspond to column names provided either by the user in names or inferred from the document header row(s). If names are given, the document header row(s) are not taken into account. For example, a valid list-like usecols parameter would be [0, 1, 2] or ['foo', 'bar', 'baz']. Element order is ignored, so usecols=[0, 1] is the same as [1, 0]. To instantiate a DataFrame from data with element order preserved use pd.read_csv(data, usecols=['foo', 'bar'])[['foo', 'bar']] for columns in ['foo', 'bar'] order or pd.read_csv(data, usecols=['foo', 'bar'])[['bar', 'foo']] for ['bar', 'foo'] order.If callable, the callable function will be evaluated against the column names, returning names where the callable function evaluates to True. An example of a valid callable argument would be lambda x: x.upper() in ['AAA', 'BBB', 'DDD']. Using this parameter results in much faster parsing time and lower memory usage.dtypedtype or dict of {Hashabledtype}, optional
Data type(s) to apply to either the whole dataset or individual columns. E.g., {'a': np.float64, 'b': np.int32, 'c': 'Int64'} Use str or object together with suitable na_values settings to preserve and not interpret dtype. If converters are specified, they will be applied INSTEAD of dtype conversion.New in version 1.5.0: Support for defaultdict was added. Specify a defaultdict as input where the default determines the dtype of the columns which are not explicitly listed.engine{‘c’, ‘python’, ‘pyarrow’}, optional
Parser engine to use. The C and pyarrow engines are faster, while the python engine is currently more feature-complete. Multithreading is currently only supported by the pyarrow engine.New in version 1.4.0: The ‘pyarrow’ engine was added as an experimental engine, and some features are unsupported, or may not work correctly, with this engine.convertersdict of {HashableCallable}, optional
Functions for converting values in specified columns. Keys can either be column labels or column indices.true_valueslist, optional
Values to consider as True in addition to case-insensitive variants of ‘True’.false_valueslist, optional
Values to consider as False in addition to case-insensitive variants of ‘False’.skipinitialspacebool, default False
Skip spaces after delimiter.skiprowsint, list of int or Callable, optional
Line numbers to skip (0-indexed) or number of lines to skip (int) at the start of the file.If callable, the callable function will be evaluated against the row indices, returning True if the row should be skipped and False otherwise. An example of a valid callable argument would be lambda x: x in [0, 2].skipfooterint, default 0
Number of lines at bottom of file to skip (Unsupported with engine='c').nrowsint, optional
Number of rows of file to read. Useful for reading pieces of large files.na_valuesHashable, Iterable of Hashable or dict of {HashableIterable}, optional
Additional strings to recognize as NA/NaN. If dict passed, specific per-column NA values. By default the following values are interpreted as NaN: “ “, “#N/A”, “#N/A N/A”, “#NA”, “-1.#IND”, “-1.#QNAN”, “-NaN”, “-nan”, “1.#IND”, “1.#QNAN”, “<NA>”, “N/A”, “NA”, “NULL”, “NaN”, “None”, “n/a”, “nan”, “null “.keep_default_nabool, default True
Whether or not to include the default NaN values when parsing the data. Depending on whether na_values is passed in, the behavior is as follows:If keep_default_na is True, and na_values are specified, na_values is appended to the default NaN values used for parsing.If keep_default_na is True, and na_values are not specified, only the default NaN values are used for parsing.If keep_default_na is False, and na_values are specified, only the NaN values specified na_values are used for parsing.If keep_default_na is False, and na_values are not specified, no strings will be parsed as NaN.Note that if na_filter is passed in as False, the keep_default_na and na_values parameters will be ignored.na_filterbool, default True
Detect missing value markers (empty strings and the value of na_values). In data without any NA values, passing na_filter=False can improve the performance of reading a large file.verbosebool, default False
Indicate number of NA values placed in non-numeric columns.Deprecated since version 2.2.0.skip_blank_linesbool, default True
If True, skip over blank lines rather than interpreting as NaN values.parse_datesbool, list of Hashable, list of lists or dict of {Hashablelist}, default False
The behavior is as follows:bool. If True -> try parsing the index. Note: Automatically set to True if date_format or date_parser arguments have been passed.list of int or names. e.g. If [1, 2, 3] -> try parsing columns 1, 2, 3 each as a separate date column.list of list. e.g. If [[1, 3]] -> combine columns 1 and 3 and parse as a single date column. Values are joined with a space before parsing.dict, e.g. {'foo' : [1, 3]} -> parse columns 1, 3 as date and call result ‘foo’. Values are joined with a space before parsing.If a column or index cannot be represented as an array of datetime, say because of an unparsable value or a mixture of timezones, the column or index will be returned unaltered as an object data type. For non-standard datetime parsing, use to_datetime() after read_csv().Note: A fast-path exists for iso8601-formatted dates.infer_datetime_formatbool, default False
If True and parse_dates is enabled, pandas will attempt to infer the format of the datetime strings in the columns, and if it can be inferred, switch to a faster method of parsing them. In some cases this can increase the parsing speed by 5-10x.Deprecated since version 2.0.0: A strict version of this argument is now the default, passing it has no effect.keep_date_colbool, default False
If True and parse_dates specifies combining multiple columns then keep the original columns.date_parserCallable, optional
Function to use for converting a sequence of string columns to an array of datetime instances. The default uses dateutil.parser.parser to do the conversion. pandas will try to call date_parser in three different ways, advancing to the next if an exception occurs: 1) Pass one or more arrays (as defined by parse_dates) as arguments; 2) concatenate (row-wise) the string values from the columns defined by parse_dates into a single array and pass that; and 3) call date_parser once for each row using one or more strings (corresponding to the columns defined by parse_dates) as arguments.Deprecated since version 2.0.0: Use date_format instead, or read in as object and then apply to_datetime() as-needed.date_formatstr or dict of column -> format, optional
Format to use for parsing dates when used in conjunction with parse_dates. The strftime to parse time, e.g. "%d/%m/%Y". See strftime documentation for more information on choices, though note that "%f" will parse all the way up to nanoseconds. You can also pass:“ISO8601”, to parse any ISO8601
time string (not necessarily in exactly the same format);“mixed”, to infer the format for each element individually. This is risky,
and you should probably use it along with dayfirst.New in version 2.0.0.dayfirstbool, default False
DD/MM format dates, international and European format.cache_datesbool, default True
If True, use a cache of unique, converted dates to apply the datetime conversion. May produce significant speed-up when parsing duplicate date strings, especially ones with timezone offsets.iteratorbool, default False
Return TextFileReader object for iteration or getting chunks with get_chunk().chunksizeint, optional
Number of lines to read from the file per chunk. Passing a value will cause the function to return a TextFileReader object for iteration. See the IO Tools docs for more information on iterator and chunksize.compressionstr or dict, default ‘infer’
For on-the-fly decompression of on-disk data. If ‘infer’ and ‘filepath_or_buffer’ is path-like, then detect compression from the following extensions: ‘.gz’, ‘.bz2’, ‘.zip’, ‘.xz’, ‘.zst’, ‘.tar’, ‘.tar.gz’, ‘.tar.xz’ or ‘.tar.bz2’ (otherwise no compression). If using ‘zip’ or ‘tar’, the ZIP file must contain only one data file to be read in. Set to None for no decompression. Can also be a dict with key 'method' set to one of {'zip', 'gzip', 'bz2', 'zstd', 'xz', 'tar'} and other key-value pairs are forwarded to zipfile.ZipFile, gzip.GzipFile, bz2.BZ2File, zstandard.ZstdDecompressor, lzma.LZMAFile or tarfile.TarFile, respectively. As an example, the following could be passed for Zstandard decompression using a custom compression dictionary: compression={'method': 'zstd', 'dict_data': my_compression_dict}.New in version 1.5.0: Added support for .tar files.Changed in version 1.4.0: Zstandard support.thousandsstr (length 1), optional
Character acting as the thousands separator in numerical values.decimalstr (length 1), default ‘.’
Character to recognize as decimal point (e.g., use ‘,’ for European data).lineterminatorstr (length 1), optional
Character used to denote a line break. Only valid with C parser.quotecharstr (length 1), optional
Character used to denote the start and end of a quoted item. Quoted items can include the delimiter and it will be ignored.quoting{0 or csv.QUOTE_MINIMAL, 1 or csv.QUOTE_ALL, 2 or csv.QUOTE_NONNUMERIC, 3 or csv.QUOTE_NONE}, default csv.QUOTE_MINIMAL
Control field quoting behavior per csv.QUOTE_* constants. Default is csv.QUOTE_MINIMAL (i.e., 0) which implies that only fields containing special characters are quoted (e.g., characters defined in quotechar, delimiter, or lineterminator.doublequotebool, default True
When quotechar is specified and quoting is not QUOTE_NONE, indicate whether or not to interpret two consecutive quotechar elements INSIDE a field as a single quotechar element.escapecharstr (length 1), optional
Character used to escape other characters.commentstr (length 1), optional
Character indicating that the remainder of line should not be parsed. If found at the beginning of a line, the line will be ignored altogether. This parameter must be a single character. Like empty lines (as long as skip_blank_lines=True), fully commented lines are ignored by the parameter header but not by skiprows. For example, if comment='#', parsing #empty\na,b,c\n1,2,3 with header=0 will result in 'a,b,c' being treated as the header.encodingstr, optional, default ‘utf-8’
Encoding to use for UTF when reading/writing (ex. 'utf-8'). List of Python standard encodings .encoding_errorsstr, optional, default ‘strict’
How encoding errors are treated. List of possible values .New in version 1.3.0.dialectstr or csv.Dialect, optional
If provided, this parameter will override values (default or not) for the following parameters: delimiter, doublequote, escapechar, skipinitialspace, quotechar, and quoting. If it is necessary to override values, a ParserWarning will be issued. See csv.Dialect documentation for more details.on_bad_lines{‘error’, ‘warn’, ‘skip’} or Callable, default ‘error’
Specifies what to do upon encountering a bad line (a line with too many fields). Allowed values are :'error', raise an Exception when a bad line is encountered.'warn', raise a warning when a bad line is encountered and skip that line.'skip', skip bad lines without raising or warning when they are encountered.New in version 1.3.0.New in version 1.4.0:Callable, function with signature (bad_line: list[str]) -> list[str] | None that will process a single bad line. bad_line is a list of strings split by the sep. If the function returns None, the bad line will be ignored. If the function returns a new list of strings with more elements than expected, a ParserWarning will be emitted while dropping extra elements. Only supported when engine='python'Changed in version 2.2.0:Callable, function with signature as described in pyarrow documentation when engine='pyarrow'delim_whitespacebool, default False
Specifies whether or not whitespace (e.g. ' ' or '\t') will be used as the sep delimiter. Equivalent to setting sep='\s+'. If this option is set to True, nothing should be passed in for the delimiter parameter.Deprecated since version 2.2.0: Use sep="\s+" instead.low_memorybool, default True
Internally process the file in chunks, resulting in lower memory use while parsing, but possibly mixed type inference. To ensure no mixed types either set False, or specify the type with the dtype parameter. Note that the entire file is read into a single DataFrame regardless, use the chunksize or iterator parameter to return the data in chunks. (Only valid with C parser).memory_mapbool, default False
If a filepath is provided for filepath_or_buffer, map the file object directly onto memory and access the data directly from there. Using this option can improve performance because there is no longer any I/O overhead.float_precision{‘high’, ‘legacy’, ‘round_trip’}, optional
Specifies which converter the C engine should use for floating-point values. The options are None or 'high' for the ordinary converter, 'legacy' for the original lower precision pandas converter, and 'round_trip' for the round-trip converter.storage_optionsdict, optional
Extra options that make sense for a particular storage connection, e.g. host, port, username, password, etc. For HTTP(S) URLs the key-value pairs are forwarded to urllib.request.Request as header options. For other URLs (e.g. starting with “s3://”, and “gcs://”) the key-value pairs are forwarded to fsspec.open. Please see fsspec and urllib for more details, and for more examples on storage options refer here.dtype_backend{‘numpy_nullable’, ‘pyarrow’}, default ‘numpy_nullable’
Back-end data type applied to the resultant DataFrame (still experimental). Behaviour is as follows:"numpy_nullable": returns nullable-dtype-backed DataFrame (default)."pyarrow": returns pyarrow-backed nullable ArrowDtype DataFrame.New in version 2.0.Returns:
DataFrame or TextFileReader
A comma-separated values (csv) file is returned as two-dimensional data structure with labeled axes.
4-2、参数

4-2-1、filepath_or_buffer(必须)文件的路径对象或任何对象具有read()方法(如文件句柄或类似文件的对象)。

4-2-2、sep/delimiter(可选)字段分隔符。如果未指定,则尝试自动检测。使用sep而不是delimiter,其中delimiter的默认值为None。

4-2-3、header(可选,默认值为‘infer’)指定哪行(从0开始计数)作为列名,如果文件中没有列标题,则默认为 'infer'。如果为整数或整数列表,则假定这些行是列名。如果为 'infer',则尝试自动检测列名。如果传递了None,则不会将任何行视为列名。

4-2-4、names(可选)用于结果的列名的列表,如果文件不包含列标题行,则需要提供此参数。

4-2-5、index_col(可选,默认值为None)用作行索引的列编号或列名,可以是整数、列名字符串或列名的列表。如果为None(默认),则使用从0开始的整数索引。

4-2-6、usecols(可选,默认值为None)返回一个子集的列。默认情况下,解析所有列。如果为整数列表,则返回这些位置的列;如果为字符串列表,则返回这些名称的列。

4-2-7、dtype(可选,默认值为None)数据或列的数据类型。可以是单个类型或类型字典。

4-2-8、engine(可选,默认值为None)用于文件解析的解析引擎:{'c', 'python'},其中,'c'引擎更快,但'python'引擎是更灵活的。

4-2-9、converters(可选,默认值为None)列的转换器字典。键可以是列名或列的索引(从0开始)。

4-2-10、true_values/false_values(可选,默认值为None)用于将字符串值转换为布尔值的序列。

4-2-11、skipinitialspace(可选,默认值为False)跳过字段值的初始空格。

4-2-12、skiprows(可选,默认值为None)需要跳过的行号列表(从0开始),或跳过文件开头的行数。

4-2-13、skipfooter(可选,默认值为0)从文件末尾跳过的行数(不支持迭代或分块读取)。

4-2-14、nrows(可选,默认值为None)需要读取的行数(从文件开始算起)。

4-2-15、na_values(可选,默认值为None)附加识别为NA/missing的字符串列表。

4-2-16、keep_default_na(可选,默认值为True)如果指定了na_values参数,并且keep_default_na为False,则默认NA值将被忽略。

4-2-17、na_filter(可选,默认值为True)检测缺失值标记(空字符串和na_values)。对于大型数据集,设置为False可以提高读取性能。

4-2-18、verbose(可选) 如果发生错误,则打印更多信息。

4-2-19、skip_blank_lines(可选,默认值为True)如果为True,则跳过空行;否则将其视为NaN。

4-2-20、parse_dates(可选,默认值为False)尝试将数据解析为日期。

4-2-21、infer_datetime_format(可选)如果为True,并且parse_dates也被启用,pandas将尝试推断日期/时间的格式。

4-2-22、keep_date_col(可选)如果连接多列来解析日期,则保留原始列。

4-2-23、date_parser(可选)用于解析日期的函数。

4-2-24、date_format(可选,默认值为None)字符串或字符串列表,用于指定日期/时间的格式。

4-2-25、dayfirst(可选,默认值为False)当解析日期时,是否将日放在月之前。

4-2-26、cache_dates(可选,默认值为True)如果为True,则使用缓存的日期解析器。

4-2-27、iterator(可选,默认值为False)如果为True,则返回TextFileReader对象,用于增量迭代。

4-2-28、chunksize(可选,默认值为None)指定读取文件的块大小(对于迭代)。

4-2-29、compression(可选,默认值为'infer')用于读取文件的压缩类型,如'gzip', 'bz2', 'zip', 'xz' 或 'infer'(如果文件扩展名已知)。

4-2-30、thousands(可选,默认值为None)千位分隔符。

4-2-31、decimal(可选,默认值'.')小数点字符。

4-2-32、lineterminator(可选,默认值为None)行尾字符串(仅对C引擎有效)。

4-2-33、quotechar(可选,默认值为'')用于标识字段中引用的字符(仅对C引擎有效)。

4-2-34、quoting(可选,默认值为0)控制引号的处理方式的参数(仅对C引擎有效)。

4-2-35、doublequote(可选,默认值为True)当字段和引号字符都被引用时,指示是否应解释两个引号字符为一个(仅对C引擎有效)。

4-2-36、escapechar(可选,默认值为None)当在字段中需要包含引号字符时,用于转义该引号字符的字符(仅对C引擎有效)。

4-2-37、comment(可选,默认值为None)标识注释字符的开始,行中该字符之后的部分将被忽略。如果为None(默认值),则不忽略任何行。

4-2-38、encoding(可选,默认值为None)用于解码文件的编码。如果为None(默认值),则尝试使用Python的locale.getpreferredencoding(False)来获取系统默认的编码。如果文件包含非ASCII字符,并且没有指定编码,这可能会导致解码错误。

4-2-39、encoding_errors(可选,默认值为strict)指定如何处理编码错误。有效选项包括'strict'、'ignore'、'replace'、'surrogatepass'等,'strict'(默认值)将引发异常,'ignore'将忽略错误,'replace'将使用?替换错误字符,'surrogatepass'将允许通过代理对(surrogate pairs)表示UTF-16字符,这可能在某些情况下导致不可预见的错误。

4-2-40、dialect(可选,默认值为None)如果指定,则解析器将尝试使用提供的方言参数集,这通常用于更复杂的CSV文件,其中需要更详细的控制(如Excel CSV文件)。pandas本身并不直接支持复杂的方言定义,但这个参数可以与其他支持方言的库(如csv模块)一起使用,但这在pandas.read_table()中并不常见。

4-2-41、on_bad_lines(可选,默认值为'error')指定在读取过程中遇到“坏行”(即格式不正确的行)时的行为,有效选项包括'error'(默认值,抛出异常)、'warn'(发出警告并跳过该行)、'skip'(仅跳过该行)。

4-2-42、delim_whitespace(可选)如果为True,则使用任何空白字符(如空格、制表符等)作为字段分隔符。注意,这与仅指定sep='\s+'不同,因为sep='\s+'将使用正则表达式来匹配一个或多个空白字符作为分隔符,而delim_whitespace=True则允许任何空白字符作为分隔符,并且不会将连续的空白字符视为单个分隔符。

4-2-43、low_memory(可选,默认值为True)如果为True(默认值),则尝试以较低内存的方式读取文件,特别是通过分块读取数据,这可能对于处理大文件很有用,但可能会牺牲一些性能。

4-2-44、memory_map(可选,默认值为False)如果为True,则使用内存映射文件来读取数据,这可以提高读取大文件的性能,但可能会增加内存使用量。

4-2-45、float_precision(可选,默认值为None)指定写入输出文件时浮点数的精度(小数点后的位数),这主要用于写入操作,而不是read_table()方法的直接参数,但在这里提及以供参考。

4-2-46、storage_options(可选,默认值为None)用于存储后端(如HDFS、S3等)的额外选项,这是一个字典,可以包含与存储后端相关的配置选项。

4-2-47、dtype_backend(可选)指定用于处理数据类型的后端,这通常不需要用户直接设置,因为pandas会根据文件内容和提供的其他参数自动选择适当的后端。

4-3、功能

        用于读取CSV(逗号分隔值)文件并将其转换为DataFrame对象。

4-4、返回值

        返回一个pandas.DataFrame对象,该对象包含了从指定文件路径或文件对象中读取的数据。

4-5、说明

        无

4-6、用法
4-6-1、创建csv文件
# 4、创建csv文件的两种方式
# 4-1、用csv库
import csv
# 要写入CSV的数据
rows = [["Name", "Age", "City"],["Myelsa", 42, "New York"],["Bryce", 6, "Los Angeles"],["Jimmy", 35, "Chicago"]
]
# 打开文件以写入,如果文件不存在则创建
with open('example.csv', 'w', newline='') as file:writer = csv.writer(file)# 写入所有行writer.writerows(rows)
print("CSV文件已使用csv创建!")# 4-2、用Pandas库
import pandas as pd
# 要写入CSV的数据
data = {'Name': ['Myelsa', 'Bryce', 'Jimmy'],'Age': [42, 6, 15],'City': ['New York', 'Los Angeles', 'Chicago']
}
# 创建DataFrame
df = pd.DataFrame(data)
# 将DataFrame写入CSV文件
df.to_csv('example.csv', index=False)  # index=False表示不将行索引写入文件
print("CSV文件已使用pandas创建!")
4-6-2、代码示例 
# 4-3、基本读取
import pandas as pd
# 读取CSV文件
df = pd.read_csv('example.csv')
# 显示前几行数据
print(df.head())# 4-4、指定分隔符
import pandas as pd
df = pd.read_csv('example.csv', sep=';')
print(df.head())# 4-5、跳过行和指定列
import pandas as pd
# 跳过前两行,并只读取第一列和第三列
df = pd.read_csv('example.csv', skiprows=2, usecols=[0, 2])
print(df.head())# 4-6、 指定列名
import pandas as pd
# 假设文件没有列头,我们手动指定列名
df = pd.read_csv('example.csv', header=None, names=['Name_1', 'Age_1', 'City_1'])
print(df.head())
4-6-3、结果输出
# 4-3、基本读取
#      Name  Age         City
# 0  Myelsa   42     New York
# 1   Bryce    6  Los Angeles
# 2   Jimmy   15      Chicago# 4-4、指定分隔符
#          Name,Age,City
# 0   Myelsa,42,New York
# 1  Bryce,6,Los Angeles
# 2     Jimmy,15,Chicago# 4-5、跳过行和指定列
#    Bryce Los Angeles
# 0  Jimmy     Chicago# 4-6、 指定列名
#    Name_1 Age_1       City_1
# 0    Name   Age         City
# 1  Myelsa    42     New York
# 2   Bryce     6  Los Angeles
# 3   Jimmy    15      Chicago

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

相关文章:

Python酷库之旅-第三方库Pandas(003)

目录 一、用法精讲 4、pandas.read_csv函数 4-1、语法 4-2、参数 4-3、功能 4-4、返回值 4-5、说明 4-6、用法 4-6-1、创建csv文件 4-6-2、代码示例 4-6-3、结果输出 二、推荐阅读 1、Python筑基之旅 2、Python函数之旅 3、Python算法之旅 4、Python魔法之旅 …...

社交电商中的裂变营销利器,二级分销模式,美妆家具成功案例分享

二级分销返佣模式是一种帮助商家迅速扩大市场覆盖的有效营销策略&#xff0c;不仅能降低营销成本&#xff0c;还能提升品牌知名度。下面通过两个具体的案例来说明这种模式的好处和优势。 某知名美妆品牌在市场竞争日益激烈的情况下&#xff0c;决定采用二级分销返佣模式进行市场…...

【国产开源可视化引擎Meta2d.js】图层

独立图层 每个图元都有先后绘画顺序&#xff0c;即每个图元拥有一个独立图层&#xff0c;即meta2d.data().pens的数组索引。 可以通过meta2d.top/bottom/up/down等函数改变独立图层顺序。 分组图层 通过标签可以标识一个分组图层&#xff0c;通过meta2d.find(图层标签)获取…...

基于Redisson实现分布式锁

基于redisson实现分布式锁 之前背过分布式锁几种实现方案的八股文&#xff0c;但是并没有真正自己实操过。现在对AOP有了更深一点的理解&#xff0c;就自己来实现一遍。 1、分布式锁的基础知识 分布式锁是相对于普通的锁的。普通的锁在具体的方法层面去锁&#xff0c;单体应…...

Android Studio下载Gradle特别慢,甚至超时,失败。。。解决方法

使用Android studio下载或更新gradle时超级慢怎么办&#xff1f; 切换服务器&#xff0c;立马解决。打开gradle配置文件 修改服务器路径 distributionUrlhttps\://mirrors.cloud.tencent.com/gradle/gradle-7.3.3-bin.zip 最后&#xff0c;同步&#xff0c;下载&#xff0c;速…...

leetcode--二叉树中的最长交错路径

leetcode地址&#xff1a;二叉树中的最长交错路径 给你一棵以 root 为根的二叉树&#xff0c;二叉树中的交错路径定义如下&#xff1a; 选择二叉树中 任意 节点和一个方向&#xff08;左或者右&#xff09;。 如果前进方向为右&#xff0c;那么移动到当前节点的的右子节点&…...

c++ primer plus 第15章友,异常和其他:15.1.3 其他友元关系

c primer plus 第15章友&#xff0c;异常和其他&#xff1a;15.1.3 其他友元关系 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 15.1.3 其他友元关系 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可…...

uniapp+vue3页面跳转和传参

页面跳转&#xff1a; uni.navigateTo({url: /pages/index}) 返回上一层&#xff1a; uni.navigateBack ({delta: 1 }) 页面跳转时传参&#xff1a; 跳转前的页面&#xff1a; uni.navigateTo({url: "/pages/index?id123"}) 跳转后的页面&#xff1a; onLoa…...

硬链接和软链接

在Linux系统中&#xff0c;链接&#xff08;Link&#xff09;是一种特殊的文件&#xff0c;它指向另一个文件或目录。链接分为两种类型&#xff1a;硬链接&#xff08;Hard Link&#xff09;和软链接&#xff08;也称为符号链接&#xff0c;Symbolic Link&#xff09;。 1. 硬…...

属性描述符初探——Vue实现数据劫持的基础

目录 属性描述符——Vue实现数据劫持的基础 一、属性描述符是什么&#xff1f; ​编辑 1.1、属性描述符示例 1.2、用属性描述符定义属性及获取对象的属性描述符 1.3、带有读取器和设置器的属性描述符 二、使用属性描述符的情景 2.1、封装和数据隐藏 使用getter和setter…...

字节也没余粮了?天底下没有永远免费的GPT-4;AI产品用订阅制就不合理!让用户掏钱的N种定价技巧嘿嘿 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;ShowMeAI官网 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; 1. 当 Coze 也开始收费&#xff1a;天底下没有「永远」免费的 GPT-4 注&#xff1a;这里 Coze 指海外版。国内版 扣子 还是免费。 Coze (海外版) 官网链接 → htt…...

【Matlab 路径优化】基于蚁群算法的XX市旅游景点线路优化系统

基于蚁群算法的XX市旅游景点线路优化系统 &#xff08;一&#xff09;客户需求&#xff1a; ①考虑旅游景点的空间分布、游客偏好等因素&#xff0c;实现了旅游线路的智能规划 ②游客选择一景点出发经过所要游览的所有景点只一次&#xff0c;最后回到出发点的前提下&#xf…...

我关于Excel使用点滴的笔记

本篇笔记是我关于Excel使用点滴的学习笔记&#xff0c;摘要和地址链接列表。临时暂挂&#xff0c;后面可能在不需要时删除。 (笔记模板由python脚本于2024年06月28日 12:23:32创建&#xff0c;本篇笔记适合初通Python&#xff0c;熟悉六大基本数据(str字符串、int整型、float浮…...

【Java安装】windows10+JDK21+IDEA

文章目录 一、JDK安装1. 下载完成后按照自己需要的位置安装2. 配置环境变量2.1 JAVA_HOME变量2.2 PATH配置 3. 验证4. helloworld 二、IDEA安装三、IDEA-HelloWorld 一、JDK安装 JDK安装链接 1. 下载完成后按照自己需要的位置安装 2. 配置环境变量 2.1 JAVA_HOME变量 安装…...

《简历宝典》01 - 一文带你学会如何写一份糟糕透顶的简历

我们每个人几乎都会面对找工作这件事&#xff0c;而找工作或者说求职首先就是要写一份简历。今天狗哥将以一个不同的视角带你写一份无与伦比&#xff0c;糟糕透顶的求职简历&#xff0c;说实话&#xff0c;其实几年前&#xff0c;我就是这么写的。 目录 1. 文件名 2. 基本信…...

多链路聚合通信路由在应急救援活动中的重要性及解决方案

在应急救援指挥活动中&#xff0c;多链路聚合通信设备如同一座坚固的桥梁&#xff0c;将信息快速、准确地传递至每一个角落。面对复杂多变的救援现场&#xff0c;这类设备展现了其卓越的适应性和稳定性。 想象一下&#xff0c;当灾害突然降临&#xff0c;信息的传递变得至关重…...

PyCharm中如何将某个文件设置为默认运行文件

之前在使用JetBrain公司的另一款软件IDEA的时候&#xff0c;如果在选中static main函数后按键altenter可以默认以后运行Main类的main函数。最近在使用PyCharm学习Python&#xff0c;既然同为一家公司的产品而且二者的风格如此之像&#xff0c;所以我怀疑PyCharm中肯定也有类似的…...

【杂交版】植物大战僵尸杂交版v2.1最新版本下载链接

B站游戏作者潜艇伟伟迷于6月13日中午更新了植物大战僵尸杂交版2.1版本&#xff0c;有老版本的也可以完美继承存档数据。 不多废话下载链接放上&#xff1a; 夸克网盘链接&#xff1a;https://pan.quark.cn/s/095de551d1d1 UC网盘链接&#xff1a;https://drive.uc.cn/s/86debb3…...

图像增强及运算篇之图像掩膜直方图和HS直方图

一.图像掩膜直方图 如果要统计图像的某一部分直方图&#xff0c;就需要使用掩码&#xff08;蒙板&#xff09;来进行计算。假设将要统计的部分设置为白色&#xff0c;其余部分设置为黑色&#xff0c;然后使用该掩膜进行直方图绘制&#xff0c;其完整代码如下所示。 # -*- codi…...

Python商务数据分析知识专栏(六)——Python数据分析的应用④Python数据分析实训

Python商务数据分析知识专栏&#xff08;六&#xff09;——Python数据分析的应用④Python数据分析实训 Python数据分析实训一.iris数据处理实训1.1 拓展学习资料&Python环境介绍1.2 读取数据&修改列名称1.3 以PythonConsole方式执行代码1.4 缺失值处理1.5 重置索引 二…...

【Python机器学习】处理文本数据——将文本数据表示为词袋

用于机器学习的文本有一种最简单的方法&#xff0c;也是最有效且最常用的方法&#xff0c;就是使用词袋表示。使用这种表示方法时&#xff0c;我们舍弃了输入文本中的大部分结构&#xff0c;比如章节、段落、句子和格式&#xff0c;只计算语料库中&#xff0c;只计算语料库中每…...

论文写作全攻略:Kimi辅助下的高效学术写作技巧

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 完成论文写作是一个多阶段的过程&#xff0c;涉及到不同的任务和技能。以下是按不同分类总结的向Kimi提问的prompt&#xff0c;以帮助你在论文写作过程中取得成功&#xff1a; 1. 选题与…...

通证经济重塑经济格局

在数字化转型的全球浪潮中&#xff0c;通证经济模式犹如一股新兴力量&#xff0c;以其独特的价值传递与共享机制&#xff0c;重塑着经济格局&#xff0c;引领我们步入数字经济的新纪元。 通证&#xff0c;作为这一模式的核心&#xff0c;不仅是权利与权益的数字化凭证&#xf…...

linux - cp 命令

问&#xff1a;cp -r ./src/. ./dst 与 cp -r ./src/* ./dst 有什么区别? 1.隐藏文件和目录&#xff1a;cp -r ./src/* ./dst 不会复制隐藏文件和目录。cp -r ./src/. ./dst 会复制所有文件和目录&#xff0c;包括隐藏文件和目录。 2.通配符和当前目录&#xff1a;* 是一个通…...

基于Qt实现的PDF阅读、编辑工具

记录一下实现pdf工具功能 语言&#xff1a;c、qt IDE&#xff1a;vs2017 环境&#xff1a;win10 一、功能演示&#xff1a; 二、功能介绍&#xff1a; 1.基于saribbon主体界面框架&#xff0c;该框架主要是为了实现类似word导航项 2.加载PDF放大缩小以及预览功能 3.pdf页面跳转…...

Linux 内核 GPIO 用户空间接口

文章目录 Linux 内核 GPIO 接口旧版本方式&#xff1a;sysfs 接口新版本方式&#xff1a;chardev 接口 gpiod 库及其命令行gpiod 库的命令行gpiod 库函数的应用 GPIO&#xff08;General Purpose Input/Output&#xff0c;通用输入/输出接口&#xff09;&#xff0c;是微控制器…...

Hive数据倾斜--处理方法

1. 什么是数据倾斜&#xff1f; 在分布式计算场景下&#xff0c;大量的数据集中在某一个节点而导致一个任务的执行时间变长。而大量的节点只处理了小部分的数据&#xff0c;大数据组件处理海量数据的特点就是不患多&#xff0c;而患不均。 2. 怎么发现任务出现了数据倾斜现象 …...

k8s流控平台apiserver详解

一、简单理解认识apiserver 1.主要功能 认证 鉴权 准入 mutating validating admission 限流 2.概念 apiserver保护etcd&#xff0c;缓存机制&#xff0c;有缓存直接返回&#xff0c;没缓存再去查看etcd,apiserver是担任和其他平台同信并认证 3.访问控制概览…...

unity对于文件夹的操作

1、获取目标文件夹内所有文件夹 string[] directories Directory.GetDirectories(Path);for (int i 0; i < directories.Length; i){print(directories[i]);}2、获取目标文件夹内指定文件 public List<string> GetAllTxt(string path){//只获取文件名string[] files…...

[Redis]哨兵机制

哨兵机制概念 在传统主从复制机制中&#xff0c;会存在一些问题&#xff1a; 1. 主节点发生故障时&#xff0c;进行主备切换的过程是复杂的&#xff0c;需要人工参与&#xff0c;导致故障恢复时间无法保障。 2. 主节点可以将读压力分散出去&#xff0c;但写压力/存储压力是无法…...

Vue3--Watch、Watcheffect、Computed的使用和区别

Vue3–Watch、Watcheffect、Computed的使用和区别 一、watch 1.功能 watch 用于监听响应式数据的变化&#xff0c;并在数据变化时执行特定的回调函数。适合在响应式数据变化时执行异步操作或复杂逻辑。 2.主要特点 指定数据监听&#xff1a;可以精确地监听一个或多个响应式…...

hive调优原理详解:案例解析参数配置(第17天)

系列文章目录 一、Hive常问面试函数&#xff08;掌握&#xff09; 二、Hive调优如何配置&#xff08;重点&#xff09; 文章目录 系列文章目录前言一、Hive函数&#xff08;掌握&#xff09;11、JSON数据处理12、炸裂函数13、高频面试题13.1 行转列13.2 列转行 14、开窗函数&a…...

华为机试HJ15求int型正整数在内存中存储时1的个数

华为机试HJ15求int型正整数在内存中存储时1的个数 题目&#xff1a; 输入一个 int 型的正整数&#xff0c;计算出该 int 型数据在内存中存储时 1 的个数。 数据范围&#xff1a;保证在 32 位整型数字范围内 想法&#xff1a; 将输入的十进制数转为二进制&#xff0c;遍历记…...

NLP - Softmax与层次Softmax对比

Softmax Softmax是神经网络中常用的一种激活函数&#xff0c;用于多分类任务。Softmax函数将未归一化的logits转换为概率分布。公式如下&#xff1a; P ( y i ) e z i ∑ j 1 N e z j P(y_i) \frac{e^{z_i}}{\sum_{j1}^{N} e^{z_j}} P(yi​)∑j1N​ezj​ezi​​ 其中&#…...

HttpServer内存马

HttpServer内存马 基础知识 一些基础的方法和类 HttpServer&#xff1a;HttpServer主要是通过带参的create方法来创建&#xff0c;第一个参数InetSocketAddress表示绑定的ip地址和端口号。第二个参数为int类型&#xff0c;表示允许排队的最大TCP连接数&#xff0c;如果该值小…...

51单片机-让一个LED灯闪烁、流水灯(涉及:自定义单片机的延迟时间)

目录 设置单片机的延迟&#xff08;睡眠&#xff09;函数查看单片机的时钟频率设置系统频率、定时长度、指令集 完整代码生成HEX文件下载HEX文件到单片机流水灯代码 (自定义延迟时间) 设置单片机的延迟&#xff08;睡眠&#xff09;函数 查看单片机的时钟频率 检测前单片机必…...

MYSQL原理、设计与应用

概述 数据库(Database&#xff0c;DB)是按照数据结构来组织、存储和管理数据的仓库&#xff0c;其本身可被看作电子化的文件柜&#xff0c;用户可以对文件中的数据进行增删改查等操作。 数据库系统是指在计算机系统中引入数据库后的系统&#xff0c;除了数据库&#xff0c;还…...

flask项目部署总结

这个部署的时候要用虚拟环境&#xff0c;cd进项目文件夹 python3 -m venv myenv source myenv/bin/activate激活 之后就安装一些库包之类的&#xff0c;&#xff08;flask&#xff0c;requests,bs4,等等&#xff09; 最重要的是要写.flaskenv文件并且pip install 一个能运行…...

【总线】AXI4第八课时:介绍AXI的 “原子访问“ :独占访问(Exclusive Access)和锁定访问(Locked Access)

大家好,欢迎来到今天的总线学习时间!如果你对电子设计、特别是FPGA和SoC设计感兴趣&#xff0c;那你绝对不能错过我们今天的主角——AXI4总线。作为ARM公司AMBA总线家族中的佼佼者&#xff0c;AXI4以其高性能和高度可扩展性&#xff0c;成为了现代电子系统中不可或缺的通信桥梁…...

Java面试八股之MYISAM和INNODB有哪些不同

MYISAM和INNODB有哪些不同 MyISAM和InnoDB是MySQL数据库中两种不同的存储引擎&#xff0c;它们在设计哲学、功能特性和性能表现上存在显著差异。以下是一些关键的不同点&#xff1a; 事务支持&#xff1a; MyISAM 不支持事务&#xff0c;没有回滚或崩溃恢复的能力。 InnoDB…...

大数据面试题之数据库(2)

数据库中存储引擎MvlSAM与InnoDB的区别 Mylsam适用于什么场景? InnoDB和Mvlsam针对读写场景? MySQL Innodb实现了哪个隔离级别? InnoDB数据引擎的特点 InnoDB用什么索引 Hash索引缺点 数据库索引的类型&#xff0c;各有什么优缺点? MySQL的索引有哪些?索引…...

1421-04SF 同轴连接器

型号简介 1421-04SF是Southwest Microwave的2.4 mm 同轴连接器。这款连接器外壳和耦合螺母: 不锈钢 CRES 合金 UNS-S30300, 按照 ASTM A582 标准制造&#xff0c;并按照 ASTM A967-99 标准进行钝化处理。金镀层可以提供更低的接触电阻和更好的耐腐蚀性。 型号特点 50 欧姆密封…...

第一节-k8s架构图

一个Deployment&#xff0c;可以由多个不同Node下的Pod组成&#xff0c;每个Pod又由多个Container组成。 区分Deployment是用Labels(key:value)&#xff0c;区分Pod是用PodName&#xff0c;区分Container是用ContainerName。 一个Node可以包含多个不同Deployment中的pod&…...

【Proteus】按键的实现『⒉种』

&#x1f6a9; WRITE IN FRONT &#x1f6a9; &#x1f50e; 介绍&#xff1a;"謓泽"正在路上朝着"攻城狮"方向"前进四" &#x1f50e;&#x1f3c5; 荣誉&#xff1a;2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…...

Windows 11 安装 Python 3.11 完整教程

Windows 11 安装 Python 3.11 完整教程 一、安装包安装 1. 下载 Python 3.11 安装包 打开浏览器,访问 Python 官方下载页面。点击“Download Python 3.11”,下载适用于 Windows 的安装包(Windows installer)。 2. 安装 Python 3.11 运行下载的安装包 python-3.11.x-amd6…...

外呼系统的功能有哪些

1. 自动拨号 - 系统能够自动拨打电话&#xff0c;避免了手动拨号的繁琐过程。 - 可以根据设定的电话号码列表自动拨号&#xff0c;提高电话接触率和工作效率。 2. 呼叫分配 - 根据事先设定的规则和策略&#xff0c;将呼叫分配给不同的坐席或代表。 - 确保呼叫平均分配和资源优…...

【C语言】C语言 4 个编译过程详解

C语言的编译过程涉及几个关键步骤、概念和细节&#xff0c;每个步骤都有助于将人类可读的源代码转换为可执行的机器码。以下是详细的解释和示例&#xff1a; 一、什么是编译&#xff1f; 编译是将源代码转换为目标代码的过程。它是在编译器的帮助下完成的。编译器检查源代码是…...

Linux 常见的几种编辑器的操作步骤

在大多数命令行文本编辑器中&#xff0c;保存并关闭文件的操作方式基本相似。以下是常见的几种编辑器的操作步骤&#xff1a; 使用 vi 编辑器保存并关闭文件 编辑文件&#xff1a; sudo vi /path/to/file 编辑内容&#xff1a; 按 i 进入插入模式&#xff0c;编辑文件内容。 …...

LabVIEW汽车转向器测试系统

绍了一种基于LabVIEW的汽车转向器测试系统。该系统集成了数据采集、控制和分析功能&#xff0c;能够对转向器进行高效、准确的测试。通过LabVIEW平台&#xff0c;实现了对转向器性能参数的实时监测和分析&#xff0c;提升了测试效率和数据精度&#xff0c;为汽车转向器的研发和…...

image媒体组件属性配合swiper轮播

图片组件&#xff08;image&#xff09; 先插入个图片试试&#xff0c;插入图片用src属性&#xff0c;这是图片&#xff1a; 代码如下&#xff1a; <template><view><swiper indicator-dots indicator-color "#126bae" indicator-active-color &…...