Python 将数据帧的子集放入矩阵中
我有这个数据框: 我只想把8月到9月的数字放在一个矩阵中,我该怎么做 我尝试了这个Python 将数据帧的子集放入矩阵中,python,pandas,Python,Pandas,我有这个数据框: 我只想把8月到9月的数字放在一个矩阵中,我该怎么做 我尝试了这个cf=df.iloc[:,1:12],它提供了我不需要的标题 是我干的 cf = df.iloc[:,1:12] cf = cf.values print(cf) 这让我 [['$0.00 ' '$771.98 ' '$0.00 ' ..., '$771.98 ' '$0.00 ' '$1,543.96 '] ['$1,320.83 ' '$4,782.33 ' '$1,320.83 ' ..., '$1,9
cf=df.iloc[:,1:12]
,它提供了我不需要的标题
是我干的
cf = df.iloc[:,1:12]
cf = cf.values
print(cf)
这让我
[['$0.00 ' '$771.98 ' '$0.00 ' ..., '$771.98 ' '$0.00 ' '$1,543.96 ']
['$1,320.83 ' '$4,782.33 ' '$1,320.83 ' ..., '$1,954.45 ' '$0.00 '
'$1,954.45 ']
['$2,043.61 ' '$0.00 ' '$4,087.22 ' ..., '$4,662.30 ' '$2,907.82 '
'$1,549.53 ']
...,
['$427.60 ' '$0.00 ' '$427.60 ' ..., '$427.60 ' '$0.00 ' '$427.60 ']
['$868.58 ' '$1,737.16 ' '$0.00 ' ..., '$868.58 ' '$868.58 ' '$868.58 ']
['$0.00 ' '$1,590.07 ' '$0.00 ' ..., '$787.75 ' '$0.00 ' '$0.00 ']]
我需要这些是浮动类型。给定(从今天早些时候的问题中窃取):
df:
使用
返回
array([['A', 'B'],
['C', 'D'],
['X', 'Y']], dtype=object)
要创建子集,可以使用两种技术。这里,
df.loc[:, "ColumnA":"ColumnB"]
返回从ColumnA
到ColumnB
的所有行和切片。其他选项包括语法,如df[df[“column”]==condition]
或df.iloc[1:3,0:5]
;哪种方法是最好的或多或少取决于您的数据、您希望代码的可读性,以及哪种方法对您尝试执行的操作最快。根据我的经验,使用.loc
或.iloc
通常是安全的
一般来说,对于熊猫问题,发布一些样本数据而不是数据帧的图像是有帮助的;否则,用户的负担就是生成模仿您的数据
编辑:
要将货币转换为浮动货币,请尝试:
所以,在一条航线上
df.loc[:, "ColumnB":"ColumnC"].replace('[\$,]', '', regex=True).values.astype(float)
屈服
array([[1.23, 1.23],
[1.23, 1.23],
[1.23, 1.23]])
取决于你的熊猫版本,或者应该做的把戏。(当然,你需要先做决定。)@Evan这些并没有真正帮助我,但我很感谢。你的部分问题已经在其他地方得到了回答;因此,您的问题并非完全重复,但我认为您应该花一些时间在谷歌上搜索,以了解其他人试图解决您正在处理的项目中较小部分的问题。ValueError:无法将字符串转换为float:'(641.99)'啊,
()
搞错了替换值。如果你处理的是会计数据,我认为这可能是一个负数。。。因此,您需要进行相应的调整。见:
df.loc[:, "ColumnA":"ColumnB"]
df.replace('[\$,]', '', regex=True).astype(float)
df.loc[:, "ColumnB":"ColumnC"].replace('[\$,]', '', regex=True).values.astype(float)
array([[1.23, 1.23],
[1.23, 1.23],
[1.23, 1.23]])