gpt4 book ai didi

python - 为什么使用 read_csv() 创建的 DataFrame 与使用相同数据的 DataFrame() 创建的另一个 DataFrame 不同?

转载 作者:行者123 更新时间:2023-12-01 07:17:05 31 4
gpt4 key购买 nike

假设有一个 csv 文件如下:

# data.csv
0,1,2,3,4
a,3.0,3.0,3.0,3.0,3.0
b,3.0,3.0,3.0,3.0,3.0
c,3.0,3.0,3.0,3.0,3.0
d,3.0,3.0,3.0,3.0,3.0

现在我创建两个数据帧:一个来自 csv 文件,另一个使用 DataFrame()。我希望两个 DataFrame 相等。

# Read the csv file into a pandas.DataFrame
A = pandas.read_csv('data.csv')

# Create (same?) dataframe by hand
B = pandas.DataFrame(3*numpy.ones((4,5)), index=['a', 'b', 'c', 'd'])

但是,如果我减去它们,我会得到:

print(A-B)
0 1 2 3 4 0 1 2 3 4
a NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
b NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
c NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
d NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

知道为什么吗?

最佳答案

DataFrame 不相等,因为在 A 中是列名称字符串,在 B 中是整数。

因此需要将整数列转换为整数:

A = pandas.read_csv('data.csv').rename(columns=int)

或者将 B 列转换为字符串:

B = pandas.DataFrame(3*numpy.ones((4,5)), index=['a', 'b', 'c', 'd']).rename(columns=str)

关于python - 为什么使用 read_csv() 创建的 DataFrame 与使用相同数据的 DataFrame() 创建的另一个 DataFrame 不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57902149/

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