Заметки по изучению Python за пятьдесят пятый день (CSV-файл Pandas)

CSV-файл панд

CSV (значения, разделенные запятыми, иногда также называемые значениями, разделенными символами, поскольку разделительный символ не обязательно должен быть запятой), его файл хранит табличные данные (числа и текст) в виде обычного текста.

CSV — это универсальный и относительно простой формат файлов, широко используемый пользователями, бизнесом и наукой.

read_csv()

Pandas очень удобно обрабатывать файлы CSV. В этой статье в качестве примера используется data.csv. Вы можете скачать data.csv или открыть data.csv для просмотра.

# 实例 1
import pandas as pd
df = pd.read_csv('data.csv')
print(df.to_string())

нанизывать()

to_string() используется для возврата данных типа DataFrame. Если эта функция не используется, результатом вывода будут первые 5 строк и последние 5 строк данных, а средняя часть будет заменена на....

# 实例 2
import pandas as pd
df = pd.read_csv('data.csv')
print(df)

to_csv()

Мы также можем использовать метод to_csv() для хранения DataFrame в виде файла csv:

# 实例 3
import pandas as pd
# 三个字段 name, site, age
nme = ["Google", "Taobao", "Wiki"]
st = ["www.google.com", "www.taobao.com", "www.wikipedia.org"]
ag = [90, 80, 98]
# 字典
dict = {
    
    'name': nme, 'site': st, 'age': ag}    
df = pd.DataFrame(dict)
# 保存 dataframe
df.to_csv('site.csv')

обработка данных

голова()

Метод head(n) используется для чтения предыдущих n строк. Если параметр n не заполнен, по умолчанию будет возвращено 5 строк.

# 实例 5 
import pandas as pd
df = pd.read_csv('data.csv')
# 读取前面 5 行
print(df.head())

Обратите внимание, что head() по умолчанию возвращает первые 5 строк. Если вы хотите изменить количество строк по умолчанию, вы можете установить его с помощью параметра n в функции head(). Кроме того, вам необходимо сначала импортировать библиотеку pandas и прочитать файл csv в объект DataFrame.

# 实例 6
import pandas as pd
df = pd.read_csv('data.csv')
# 读取前面 10 行
print(df.head(10))

хвост()

Метод Tail(n) используется для чтения n строк в конце. Если параметр n не заполнен, по умолчанию будет возвращено 5 строк. Значение каждого поля в пустой строке вернет NaN. Если указан параметр n, возвращаются последние n строк. Если n больше количества строк в DataFrame, возвращаются все строки.

# 实例 7
import pandas as pd
df = pd.read_csv('data.csv')
# 读取末尾 5 行
print(df.tail())

Обратите внимание, что в этом примере метод Tail() использовался правильно для чтения последних 5 строк файла data.csv. Если в файле достаточно строк, метод Tail() вернет последние 5 строк данных. Если файл недостаточно длинный, количество возвращаемых строк будет таким же, как фактическое количество строк в файле.
Кроме того, для пустых строк Pandas возвращает NaN для значений различных полей. Если вы хотите рассматривать пустые строки как строки с определенным значением (например, 0 или ''), вы можете использовать метод fillna() для заполнения пропущенных значений.

наполнять()

# 实例 8
import pandas as pd
df = pd.read_csv('data.csv')
# 将空行填充为0
print(df.tail().fillna(0))

То же самое касается чтения последних 10 строк.

# 实例 9
import pandas as pd
df = pd.read_csv('data.csv')
# 读取末尾 10 行
print(df.tail(10).fillna(0))

Информация()

Метод info() в основном используется для вывода информации, связанной с DataFrame, в библиотеке Pandas. Сюда входят такие вещи, как количество строк, столбцов, количество ненулевых значений и тип данных каждого столбца.

Когда вы вызываете метод info() для объекта DataFrame, он выводит следующую информацию:

  1. Подробная информация об индексе DataFrame (метки строк), включая минимальное, максимальное, уникальные значения и шаг.
  2. Метки столбцов DataFrame и некоторая его статистическая информация, включая тип данных, количество ненулевых значений и т. д.
  3. Количество строк и столбцов DataFrame.
# 实例 10
import pandas as pd
df = pd.read_csv('data.csv')
print(df.info())

Когда вы запустите приведенный выше код, метод info() выведет информацию, подобную следующей (конкретное содержимое зависит от ваших данных), например:

<class 'pandas.core.frame.DataFrame'>  
RangeIndex: 500 entries, 0 to 499  	 		# 行数,500 行,第一行编号为 0
Data columns (total 13 columns): 			# 列数,13
#   Column  Non-Null Count  Dtype   		# 各列的数据类型
---  ------  --------------  -----    
0   team    500 non-null    object  		# non-null,意思为非空的数据 
1   player  483 non-null    object  
2   pos     483 non-null    object  
3   age     483 non-null    float64  
4   height   483 non-null    float64  
...  
11  mp_mp   500 non-null    float64  
12  mp40     500 non-null    float64  
13  mp40g    498 non-null    float64  
dtypes: float64(7), int64(2), object(4)  	# 类型
memory usage: 49.3 KB

Этот вывод иллюстрирует:

  • Категория DataFrame (в данном случае DataFrame pandas) и диапазон индекса.
  • Количество столбцов и ненулевых значений DataFrame.
  • Количество и тип данных ненулевых значений в каждом столбце.
  • Количество пропущенных значений на столбец (если есть).
  • Объем памяти, используемый DataFrame.

постскриптум

Сегодня вы изучаете Python Pandas DataFrame. Вы его выучили? Краткое содержание сегодняшнего учебного материала:

  1. CSV-файл панд
  2. read_csv()
  3. нанизывать()
  4. to_csv()
  5. обработка данных
  6. голова()
  7. хвост()
  8. Информация()

Guess you like

Origin blog.csdn.net/qq_54129105/article/details/132261104