(Full披露-相对初学者与Python编程和Pandas,但是,我能够拿起东西很快,绝对喜欢玩/操纵数据,以获得我想要的!)
嘿,大家好-希望大家都很好。
也就是说,我正在解决一个问题,我有一个样本数据CSV文件,我已经从网上导入到我的代码使用Pandas和它的工作真棒......
安装Pandas后学习的示例代码:
empCSV = pd.read_csv("https://data........")
print (empCSV)
打印时的输出示例:
Work Date Employee hours Overtime Hours
0 02/22/2023 11 19 39 44 65 07 2.0
1 02/20/2023 03 17 26 38 54 15 3.0
2 02/18/2023 08 21 31 32 37 23 4.0
3 02/15/2023 31 32 54 60 63 12 4.0
4 02/13/2023 17 26 37 61 65 02 2.0
etc.....
现在,我想篡改的主要数据(考虑到数量和频率)是员工小时数。这就是问题的来源。既然我想玩弄这些数字,我应该只按列表过滤这些数字,然后玩弄它们吗?所以,在阅读了几个论坛后,它说我可以只提取这些值,然后把它们都放进一个列表中...我就这么做了...这很有效。再次棒极了!
样本码
empHours = empCSV['Employee hours'].tolist()
print(empHours)
打印时的输出示例:
[1435 rows x 3 columns]
['11 19 39 44 65 07', '03 17 26 38 54 15', '08 21 31 32 37 23', '31 32 54 60 63 12', '17 26 37 61 65 02', ......
但是现在,我想把所有的第一个数值(即11、03、08等)、所有的第二个数值(即19、17、21等)等放入单独的字符串中,以便我在需要时使用它们。
我应该坚持Pandas吗?我应该只使用列表和循环操作吗?我偏离轨道了吗?
......然后开始!
1条答案
按热度按时间mum43rcc1#
如果您熟悉NumPy arrays,可以拆分字符串列表并构造一个2D数组,该数组可以按列进行索引。
构造二维Numpy数组
假设
'Employee Hours'
列的样本:以下代码可用于构造二维数组:
输出:
按列索引
要提取整个第
n
列(以获取每行的第n
个数值),请写入hours2DArray[:, n-1]
。例如,
输出:
转置二维数组
将行改为列可能更方便,这可以通过
.transpose()
方法实现:输出: