gpt4 book ai didi

python - Pandas read_csv,忽略第一个单元格

转载 作者:行者123 更新时间:2023-12-03 07:52:58 31 4
gpt4 key购买 nike

我有这样的 .csv 文件:

Str;  Int; Flt
A; 123; 0.1
B; 456; 0.2
C; 789; 0.3

我想得到这样的DataFrame

   Int; Flt
A; 123; 0.1
B; 456; 0.2
C; 789; 0.3

我像这样读取csv

df = pd.read_csv('data.csv', index_col=0, sep=";")

问题是我无法使用 df.loc["A", "Int"] 来获取单元格值。如果我从 csv 中删除 Str; ,一切都会正常。

所以我们的想法是使用第一行作为行名称,第一列作为列名称。我知道第一个元素不能同时用作列名称和行名称,有什么方法可以删除这样不明确的值?

最佳答案

您遇到了空格问题。

import io
import pandas as pd

fp = io.StringIO('''
Str; Int; Flt
A; 123; 0.1
B; 456; 0.2
C; 789; 0.3
'''.strip())

df = pd.read_csv(fp, index_col=0, sep=";")

print("Index: ", df.index)
print("Columns: ", df.columns)

# Now look at the whitespace:
print(df.loc[' A',' Int'])

产量:

Index:  Index(['  A', '  B', '  C'], dtype='object', name='Str')
Columns: Index([' Int', ' Flt'], dtype='object')
123

因此,当您删除 "Str" 时,您似乎正在处理空格问题。

所以这样做:

df = pd.read_csv(fp, index_col=0, sep=";" , skipinitialspace=True)

print(df.loc['A','Int'])

关于python - Pandas read_csv,忽略第一个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76689146/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com