Python Script Calculating Average


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Python Script Calculating Average
# 8  
Old 10-20-2014
> Can I just add dict.sort to sort it numerically by id?
Yes, you can sort the keys of a dictionary. Nevertheless, you should use
Code:
sorted(dict)

> And once I sort it, how do I print it out?
That depends of what version of python you are using

---------- Post updated 10-20-14 at 12:40 PM ---------- Previous update was 10-19-14 at 08:46 PM ----------

> I didn't really understand the %formatting from the previous one.
That was formatting for python 2.x

Let's avoid formatting for now.
Code:
# sort the dictionary keys and use key to print
for key in sorted(dict):
   # dict[key] is an array of fruits. join will make it a string. Remove the # infront of your version.
   # print(key, ": ", " ". join(dict[key])) # for python 3.x
   # print key, ": ", " ". join(dict[key])  # for python 2.x

This User Gave Thanks to Aia For This Post:
# 9  
Old 10-20-2014
Quote:
Originally Posted by Aia
> Can I just add dict.sort to sort it numerically by id?
Yes, you can sort the keys of a dictionary. Nevertheless, you should use
Code:
sorted(dict)

> And once I sort it, how do I print it out?
That depends of what version of python you are using

---------- Post updated 10-20-14 at 12:40 PM ---------- Previous update was 10-19-14 at 08:46 PM ----------

> I didn't really understand the %formatting from the previous one.
That was formatting for python 2.x

Let's avoid formatting for now.
Code:
# sort the dictionary keys and use key to print
for key in sorted(dict):
   # dict[key] is an array of fruits. join will make it a string. Remove the # infront of your version.
   # print(key, ": ", " ". join(dict[key])) # for python 3.x
   # print key, ": ", " ". join(dict[key])  # for python 2.x

Oh, thank you! That makes everything much clearer.
# 10  
Old 10-27-2014
Quote:
Originally Posted by Aia
> Can I just add dict.sort to sort it numerically by id?
Yes, you can sort the keys of a dictionary. Nevertheless, you should use
Code:
sorted(dict)

> And once I sort it, how do I print it out?
That depends of what version of python you are using

---------- Post updated 10-20-14 at 12:40 PM ---------- Previous update was 10-19-14 at 08:46 PM ----------

> I didn't really understand the %formatting from the previous one.
That was formatting for python 2.x

Let's avoid formatting for now.
Code:
# sort the dictionary keys and use key to print
for key in sorted(dict):
   # dict[key] is an array of fruits. join will make it a string. Remove the # infront of your version.
   # print(key, ": ", " ". join(dict[key])) # for python 3.x
   # print key, ": ", " ". join(dict[key])  # for python 2.x

I am playing around with python scripting again and was wondering, if I was to read a file with a list of baseball teams how would I list out all the teams in alphabetical order?
# 11  
Old 10-27-2014
Maybe,

Code:
#!/usr/bin/python

# open the file for reading
f = open("file", "r")

# read the whole file into array, using each line as an element
lines = f.readlines()

# dismiss the file
f.close()

# sort each line alphabetically in place
# the original lines array is not modified
for l in sorted(lines):
    # This is for 2.x and the trailing , is necessary to prevent automatically
    # adding a new line. f.readlines included the new line already. 
    print l,

# 12  
Old 10-27-2014
Quote:
Originally Posted by Aia
Maybe,

Code:
#!/usr/bin/python

# open the file for reading
f = open("file", "r")

# read the whole file into array, using each line as an element
lines = f.readlines()

# dismiss the file
f.close()

# sort each line alphabetically in place
# the original lines array is not modified
for l in sorted(lines):
    # This is for 2.x and the trailing , is necessary to prevent automatically
    # adding a new line. f.readlines included the new line already. 
    print l,

So the sorted function automatically sorts alphabetically, not numerically.
If the team name is the third element, how would I just pull out the team name and sort them?
Example: Howard,Ryan,Phillies,1b,529,142,26,0,47,136,.268
# 13  
Old 10-27-2014
Quote:
Originally Posted by totoro125
So the sorted function automatically sorts alphabetically, not numerically.
If the team name is the third element, how would I just pull out the team name and sort them?
Example: Howard,Ryan,Phillies,1b,529,142,26,0,47,136,.268
You need a more complex construct to do that, now we need to split the line into tokens.

Code:
#!/usr/bin/python

f = open("file3", "r")
lines = f.readlines()
f.close()

for l in sorted(lines, key=lambda x: x.split(',')[2]):
    print l,

Perhaps some more about it?
This User Gave Thanks to Aia For This Post:
# 14  
Old 10-28-2014
Quote:
Originally Posted by Aia
You need a more complex construct to do that, now we need to split the line into tokens.

Code:
#!/usr/bin/python

f = open("file3", "r")
lines = f.readlines()
f.close()

for l in sorted(lines, key=lambda x: x.split(',')[2]):
    print l,

Perhaps some more about it?
Thank you! Thank you! I will read up more about it. I will keep playing with it and I'll be back if I have anymore questions.

---------- Post updated at 08:12 PM ---------- Previous update was at 08:32 AM ----------

Quote:
Originally Posted by Aia
You need a more complex construct to do that, now we need to split the line into tokens.

Code:
#!/usr/bin/python

f = open("file3", "r")
lines = f.readlines()
f.close()

for l in sorted(lines, key=lambda x: x.split(',')[2]):
    print l,

Perhaps some more about it?
One last question about this, is it possible to create something like a menu that allows someone to pick a team and then it will print out all the players?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Calculating average from files

I have some files with the following contents.I would like to calculate average of fifth column. How can I do this with awk? file1 cat 95.9 152 78.0 17.9 rat 67.1 153 36.5 30.6 dog 81.4 154 68.1 13.3 dog 92.0 155 55.5 36.5 rat 73.8 156 23.9 49.9 file2 rat... (4 Replies)
Discussion started by: avina
4 Replies

2. UNIX for Dummies Questions & Answers

Calculating average

Hi I have file like below 111,victor,48,12,36 342,Peter,54,58,30 476,Scott,25,36,48 567,Patty,74,17,95 I have written below code to calcualte avereage for every id Victor = 48+12+36/3 #!/bin/ksh /usr/xpg4/bin/awk ' BEGIN {FS=","} {sum=0; n=0;i=3 (1 Reply)
Discussion started by: stew
1 Replies

3. Shell Programming and Scripting

Calculating the average of scores

Hi I have 2 files file1 aac 23 25 aac 87 90 aac 33 67 file2 23 0.9 24 0.8 25 0.4 ........ 67 0.55 ........ I want to get output as (11 Replies)
Discussion started by: anurupa777
11 Replies

4. Shell Programming and Scripting

Calculating average with awk

I need to find the average from a file like: data => BW:123 M:30 RTD:0 1 0 1 0 0 1 1 1 1 0 0 1 1 0' data => BW:123 N:30 RTD:0 1 0 1 0 0 1 1 1 1 0 0 1 1 0' data => BW:123 N:30 RTD:0 1 0 1 0 0 1 1 1 1 0 0 1 1 0' data => BW:123 N:30 RTD:0 1 0 1 0 0 1 1 1 1 0 0 1 1 0' data => BW:123 N:30 RTD:0 1... (4 Replies)
Discussion started by: Slagle
4 Replies

5. Shell Programming and Scripting

Calculating average for every Nth line in the Nth column

Is there an awk script that can easily perform the following operation? I have a data file that is in the format of 1944-12,5.6 1945-01,9.8 1945-02,6.7 1945-03,9.3 1945-04,5.9 1945-05,0.7 1945-06,0.0 1945-07,0.0 1945-08,0.0 1945-09,0.0 1945-10,0.2 1945-11,10.5 1945-12,22.3... (3 Replies)
Discussion started by: ncwxpanther
3 Replies

6. Shell Programming and Scripting

Calculating average of 100 different files of same size

Hey guys..... I have many files (lets say 100 or more) of same size, and I want to create a new output file and calculate the average of first row fifth column in all files and print it in first row of output file, then 2nd row fifth col in all 100 files and print it in 2nd row of output... (1 Reply)
Discussion started by: CAch
1 Replies

7. UNIX for Dummies Questions & Answers

Calculating weighted average

Dear all, i have 200 values in a file. How can i calculate a weighted average and output into a new file avg.dat? INPUT: file1.dat 1.3453 2.434 2.345 ..... OUTPUT: avg.dat file1: 1.762 Thanks. Po (3 Replies)
Discussion started by: chen.xiao.po
3 Replies

8. UNIX for Dummies Questions & Answers

Calculating average

Hi, i have 12 float variables in a bash file and i want to calculate the average of them. Can any body help? (6 Replies)
Discussion started by: limadario
6 Replies

9. UNIX for Dummies Questions & Answers

Calculating the Number of Rows and Average

Hi All I like to know how can we calculate the number of rows and the average of the values present in the file. I will not know what will be the rowcount, which will be dynamic in nature of the file. eg. 29 33 48 30 28 (6 Replies)
Discussion started by: pk_eee
6 Replies

10. Shell Programming and Scripting

Calculating the average

This is the cronjob ---------------------- root@a7germ:/home/paxtemp > crontab -l|grep test 57 * * * * /home/paxtemp/test_1.sh 0,5,10,15,20,25,30,35,40,45,50,55 * * * * /home/paxtemp/test.sh root@a7germ:/home/paxtemp > This is the contents of test.sh script... (2 Replies)
Discussion started by: kekanap
2 Replies
Login or Register to Ask a Question