Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将数据帧的子集放入矩阵中_Python_Pandas - Fatal编程技术网

Python 将数据帧的子集放入矩阵中

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

我有这个数据框:

我只想把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,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]])